我正在使用Java的DOM解析器来解析XML文件。
假设我有以下XML
<?xml version="1.0"?>
<config>
<dotcms>
<endPoint>ip</endPoint>
</dotcms>
</config>
</xml>
我喜欢获得'endPoint'的价值。我可以使用以下代码片段完成此操作。 (假设我已经用DocumentBuilder解析了它)
NodeList nodeList = this.doc.getElementByTagName("dotcms");
Node nValue = (Node) nodeList.item(0);
return nValue.getNodeValue();
是否可以通过字段名称获取字段值?像....
Node nValue = nodeList.getByName("endPoint")
这样的事情......?
答案 0 :(得分:5)
您应该使用XPath来完成这些任务:
//endPoint/text()
或:
/config/dotcms/endPoint/text()
当然,Java有一个内置的support用于XPath:
XPath xpath = XPathFactory.newInstance().newXPath();
XPathExpression expr = xpath.compile("//endPoint/text()");
Object value = expr.evaluate(doc, XPathConstants.STRING);
答案 1 :(得分:0)