您可以使用下面的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);
}
}
的input.xml
我都扩大了XML文档包含element
元素与name
属性与其他值是doctype
证明了XPath的工作原理。
<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
为什么你能不能得到这个元素?告诉我们你的代码。 – Jesper 2012-07-20 11:56:17
doc.getElementsByTagName(“document”)。item(0).getNodeName() doc是我的documentbuilder,与我一起分析了xml文件。 如果我打印这个,会显示结“文档”。但我不知道如何获取元素值。 – Metalhead89 2012-07-20 12:03:36
对不起,但这并没有真正帮助 – Metalhead89 2012-07-20 12:06:12