BBC ニュースの RSS フィードを例にとると、そのニュース項目の 1 つが次のとおりです。
<item><title>Pupils 'bullied on sports field'</title><description>bla bla..
これを解析するJavaコードがいくつかありますが、タイトルにアポストロフィが含まれている場合(上記のように)、解析が停止するため、次のタイトルになります: . 完全なタイトルを解析するにはどうすればよいですか? 以下は、情報を解析する for ループ内のコードの一部です。
NodeList title = element.getElementsByTagName("title");
Element line = (Element) title.item(0);
tmp.setTitle(getCharacterDataFromElement(line).toString());
まったく同じコードを使用して、description や pubDate などの他の要素を解析しますが、これらはすべて問題ありません。
これは getCharacterDataFromElement メソッドです。
public static String getCharacterDataFromElement(Element e) {
Node child = ((Node) e).getFirstChild();
if (child instanceof CharacterData) {
CharacterData cd = (CharacterData) child;
return cd.getData();
}
return "";
}
私は何を間違っていますか?DocumentBuilder、DocumentBuilderFactory、および org.w3c.dom を使用して、RSS フィードを操作します。