【发布时间】:2018-05-09 10:33:45
【问题描述】:
有一个 XML
<node>Text1<subnode/>text2</node>
如何在<node> 标签内选择整个子字符串?
类似这样的:
Text1<subnode/>text2
将 xpath 写为:./node/text() 返回 null。
【问题讨论】:
标签: java xml xpath sax xpath-2.0
有一个 XML
<node>Text1<subnode/>text2</node>
如何在<node> 标签内选择整个子字符串?
类似这样的:
Text1<subnode/>text2
将 xpath 写为:./node/text() 返回 null。
【问题讨论】:
标签: java xml xpath sax xpath-2.0
./node/node() 返回三个节点的序列:
字符串值为“Text1”的文本节点
一个名为“子节点”的元素节点
字符串值为“text2”的文本节点
如果您想要字符串"Text1<subnode/>text2",那么这涉及到序列化元素节点。 XPath 看不到原始的词法 XML,只能看到一棵节点树,因此如果您想要词法 XML,则必须对其进行重构:这个过程称为序列化。要在 XPath 中进行序列化,您需要 XPath 3.0,它有一个 serialize() 函数,可以将节点树转换为字符串。
【讨论】: