您可以使用以下 XPath 来获取您要查找的数据:
/documents/document/element[@name='doctype']/value
演示
以下演示代码演示了如何针对您的 DOM 执行该 XPath。此应用程序将在任何标准 Java SE 5(或更新版本)安装中运行。
package forum11578831;
import javax.xml.parsers.*;
import javax.xml.xpath.*;
import org.w3c.dom.Document;
public class Demo {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = domFactory.newDocumentBuilder();
Document dDoc = builder.parse("src/forum11578831/input.xml");
XPath xPath = XPathFactory.newInstance().newXPath();
String string = (String) xPath.evaluate("/documents/document/element[@name='doctype']/value", dDoc, XPathConstants.STRING);
System.out.println(string);
}
}
输入.xml
我已扩展 XML 文档以包含具有其他值element
的属性的元素,以证明 XPath 有效。name
doctype
<documents>
<document>
<element name="foo">
<value>FOO</value>
</element>
<element name="doctype">
<value>Circular</value>
</element>
<element name="bar">
<value>BAR</value>
</element>
</document>
</documents>
输出
执行 XPath 的结果就是String
您正在寻找的结果:
Circular