【问题标题】:XPath Query for all element XML所有元素 XML 的 XPath 查询
【发布时间】:2018-10-03 19:41:45
【问题描述】:

我不确定这是否可行,因为我试图让 XPath 返回 XML,但我有一个示例文件:

<?xml version="1.0" encoding="utf-8"?>
<items xmlns="http://www.examples.com/itemsns">
    <item id="1" type="blue">
        <name>Item 1</name>
    </item>
    <item id="2" type="red">
        <name>Item 2</name>
    </item>
    <item id="3" type="red">
        <name>Item 3</name>
    </item>
</items>

我正在尝试返回整个元素以供参考。客户希望能够回顾元素的原始 XML,以解决可能返回不正确或不完整数据的 XPath 查询。

目标是让 XPath 以原始形式返回整个元素:

<item id="2" type="red">
    <name>Item 2</name>
</item>

这甚至可以在单个 XPath 查询中实现吗?

提前致谢!

【问题讨论】:

    标签: xml xpath


    【解决方案1】:

    XPath 表达式选择源文档中的节点并返回对这些节点的引用。所以是的,您可以返回整个节点。事实上,你不能返回部分节点。

    现在,您作为输出显示的不是节点,而是作为词法 XML 的节点的序列化。如果这就是您想要的,那么 XPath 就不能提供它——至少在 XPath 3.1 之前是这样,它提供了serialize(node) 函数。在早期版本中,如果应用程序想要序列化节点,它必须找到其他方法来实现。大多数树模型(DOM、JDOM 等)都提供了一些简单的节点序列化方法,但细节取决于您的宿主语言和树模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      相关资源
      最近更新 更多