Xpath: Select 文本和子节点
Xpath: Select text and subchild node
有一个XML
<node>Text1<subnode/>text2</node>
如何 select <node>
标签内的整个子字符串?
像这样:
Text1<subnode/>text2
将 xpath 写为:./node/text()
returns null.
./node/node()
returns 三个节点的序列:
字符串值为"Text1"
的文本节点
一个名为"subnode"
的元素节点
字符串值为"text2"
的文本节点
如果您想要字符串 "Text1<subnode/>text2"
则涉及序列化元素节点。 XPath 看不到原始的词法 XML,只能看到一棵节点树,所以如果你想要词法 XML 那么你必须重建它:这个过程称为序列化。要从 XPath 中进行序列化,您需要 XPath 3.0,它有一个 serialize()
函数可以将节点树转换为字符串。
有一个XML
<node>Text1<subnode/>text2</node>
如何 select <node>
标签内的整个子字符串?
像这样:
Text1<subnode/>text2
将 xpath 写为:./node/text()
returns null.
./node/node()
returns 三个节点的序列:
字符串值为"Text1"
的文本节点
一个名为"subnode"
的元素节点
字符串值为"text2"
的文本节点
如果您想要字符串 "Text1<subnode/>text2"
则涉及序列化元素节点。 XPath 看不到原始的词法 XML,只能看到一棵节点树,所以如果你想要词法 XML 那么你必须重建它:这个过程称为序列化。要从 XPath 中进行序列化,您需要 XPath 3.0,它有一个 serialize()
函数可以将节点树转换为字符串。