我正在开发Android,需要从URL获取XML并检索一些值。下载没问题,但有些字段可以包含HTML实体(如 - )。当我从Node类(org.w3c.dom.Node)调用方法getNodeValue()时,该值在找到&时停止。 char,并截断String。
E.g:
<title>Episode #56 – Heroes</title>
当我调用getNodeValue()时,只返回“第56集”。
答案 0 :(得分:0)
你可以试试这样的事情
String str = "<title>Episode #56 – Heroes</title>";
str = str.replaceAll("&", "amp;");
然后尝试解析它应该工作的'str'。
这是纯粹的dom解析器的示例实现。
public static void main(String[] args) throws XPathExpressionException {
String str = "<title>Episode #56 – Heroes</title>";
str = str.replaceAll("&", "amp;");
Document domDoc = null;
try {
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
ByteArrayInputStream bis = new ByteArrayInputStream(str.getBytes());
domDoc = docBuilder.parse(bis);
} catch (Exception e) {
e.printStackTrace();
}
NodeList nlist = domDoc.getElementsByTagName("title");
//System.out.println("child count "+nlist.getLength());
System.out.println("title value = "+nlist.item(0).getTextContent());
}