我正在尝试读取xml文件,例如:http://www1.skysports.com/feeds/11095/news.xml
我需要getTextContent()
能够获得<item>
个标签的所有标题,描述等。 <title>
标记不是<item>
标记的子标记,我不想getTextContent()
。
我已经设置了我的XML阅读器,所以我有:
Document doc = dbuilder.parse(xmlFile);
doc.getDocumentElement().normalize();
String Title = document.getElementsByTagName("title").item(0).getTextContent();
但是此方法会选择不属于<title>
的孩子的<item>
我可以将item(0)
更改为item(1)
,但我需要使用此算法来处理各种XML文件,这些文件在没有<title>
父级的情况下不一定具有初始<item>
。
如何选择那些<title>
的孩子<item>
?
答案 0 :(得分:3)
改用XPath。使这一切变得更加轻松:
XPathFactory xpf = XPathFactory.newInstance();
XPath xp = xpf.newXPath();
NodeList nl = (NodeList) xp.evaluate("//item/title/text()", doc,
XPathConstants.NODESET);
for (int i = 0; i < nl.getLength(); ++i) {
System.out.println(nl.item(i).getNodeValue());
}