java - 文档 - 如何通过名称获取标签的值?

标签 java xml dom

我正在使用 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") 像这样...?

最佳答案

你应该使用 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);

关于java - 文档 - 如何通过名称获取标签的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491011/

相关文章:

javascript - 如何高效查询索引处的元素

java - 我该如何进行这个单元测试?

java - 测试 init 方法中模拟 Thread.currentThread().getContextClassLoader()

java - 将单元格合并到 MigLayout?

c# - 使用命名空间和多个嵌套元素反序列化 XML

Java 转换器 : How do you make its result into an OutputStream?

Java+DOM : How do I convert a DOM tree without namespaces to a namespace-aware DOM tree?

java - 如何使用 Hadoop/Hbase 实现网络搜索?

python - 如何使用 Python 的 xml.dom.minidom 呈现文档类型?

java - (ImageView)findViewById() 始终返回 null