请参阅示例XML文件
<root>
<A id="101">
<B></B>
<C id="Hello" name="World"> </C>
<D id="First D"> </D>
</A>
<X id="102"> Shawn </X>
<Y id="Java World"> </Y>
<Z> Cool </Z>
<D id="Second D"> </D>
</root>
我想显示标签&#34; D&#34; ID =&#34;第二个D&#34;使用Java Dom Parser功能。
请帮我解决这个问题。
答案 0 :(得分:0)
首先,我将决定您要使用哪个DOM-Parser Library。 我更喜欢JDOM2。互联网上有很多教程。您唯一要做的就是阅读文档(字符串到JDOM-Document),然后是doc.getRootElement()。getChildText(“D”)。当然,您应该进行一些错误检查,例如读入文档是否为null或根元素等等。 我认为这足以帮助您自己完成工作。
编辑:我看到你的xml文件结构不正确,你可以看到最后一行你有一个结束标记,但是在上面的同一行关闭了。
答案 1 :(得分:0)
@Shiva。请尝试下面给出的代码,让我知道结果。
XPath xPath = XPathFactory.newInstance().newXPath();
String expression = "/root/D[@id='Second D']/text()";
NodeList nodeList1 = (NodeList) xPath.compile(expression).evaluate(doc, XPathConstants.NODESET);
for (int i = 1; i <= nodeList1.getLength(); i++) {
System.out.println(nodeList1);
}
建议:如果您的XML文件内容较少,那么请使用DOM Parser,因为它很容易在XPath的帮助下使用。