【问题标题】:Xpath: Select text and subchild nodeXpath:选择文本和子节点
【发布时间】:2018-05-09 10:33:45
【问题描述】:

有一个 XML

<node>Text1<subnode/>text2</node>

如何在&lt;node&gt; 标签内选择整个子字符串?

类似这样的:

Text1<subnode/>text2

将 xpath 写为:./node/text() 返回 null。

【问题讨论】:

    标签: java xml xpath sax xpath-2.0


    【解决方案1】:

    ./node/node() 返回三个节点的序列:

    • 字符串值为“Text1”的文本节点

    • 一个名为“子节点”的元素节点

    • 字符串值为“text2”的文本节点

    如果您想要字符串"Text1&lt;subnode/&gt;text2",那么这涉及到序列化元素节点。 XPath 看不到原始的词法 XML,只能看到一棵节点树,因此如果您想要词法 XML,则必须对其进行重构:这个过程称为序列化。要在 XPath 中进行序列化,您需要 XPath 3.0,它有一个 serialize() 函数,可以将节点树转换为字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-15
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多