【问题标题】:Replace values in a list of objects with xpath?用xpath替换对象列表中的值?
【发布时间】:2012-11-23 04:58:20
【问题描述】:

xpath 是否能够替换 xml 文档的值?

以下获取所有名称元素,但我该如何替换它们?

<accounts>
<account>
<name>Johndoe1<name>
<account>
<account>
<name>Johndoe2<name>
<account>
</account>

XPathExpression fax = xpath.compile("/accounts/account/name")
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i < nodes.getLength(); i++) {
    System.out.println(nodes.item(i).getNodeValue()); 
}

【问题讨论】:

    标签: java xml xpath


    【解决方案1】:

    XPath 仅标识文档中的节点。您必须使用 DOM api 来删除这些元素。有关如何在遍历 NodeList 时删除元素的更多信息,请参阅 here

    【讨论】:

      【解决方案2】:

      xpath 是否能够替换 xml 文档的值?

      不,XPath 是一种用于 XML 文档的查询语言。因此它只从 XML 文档中提取节点和数据,但不能更改(添加、替换、删除、节点)XML 文档。

      当对 XML 文档的处理导致创建另一个与原始文档不同的 XML 文档时,这称为 XML 转换。 XSLT 是一种专为 XML 转换而设计的语言,是此类处理的最自然选择。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-01
        • 2011-11-01
        • 2015-08-12
        • 2019-09-17
        相关资源
        最近更新 更多