【发布时间】:2012-04-17 07:44:48
【问题描述】:
以BBC新闻RSS提要为例,他们的一条新闻如下:
<item><title>Pupils 'bullied on sports field'</title><description>bla bla..
我有一些 java 代码对此进行解析 - 但是,当标题包含撇号(如上)时,解析停止,所以我最终得到以下标题:Pupils ' 然后它继续打开并解析描述(这很好)。我如何让它解析完整的标题?以下是我解析信息的 for 循环内部的一段代码:
NodeList title = element.getElementsByTagName("title");
Element line = (Element) title.item(0);
tmp.setTitle(getCharacterDataFromElement(line).toString());
完全相同的代码用于解析描述和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 Feed。
【问题讨论】: