我有以下XML。什么是XPath for"这里的一些文字" ?
<a:a>
<a:b>
<a:c>
<x:d>
<y id="z">
<myText> some text here </myText>
</y>
<x:d>
</a:c>
</a:b>
</a:a>
我需要确切的XPath直到&#34;这里的一些文字&#34;。
答案 0 :(得分:2)
要选择包含“some text here here”的文本节点,请使用以下XPath:
a:a/a:b/a:c/x:d/y[@id = 'z']/myText/text()
此处文本仍包含前导和尾随空格。要摆脱它们,请将XPath函数normalize-space()
应用于表达式:
normalize-space(a:a/a:b/a:c/x:d/y[@id = 'z']/myText/text())
还要确保正确设置名称空间。为了测试,我将XML示例的第一个标记更改为
<a:a xmlns:a="http://a.com" xmlns:x="http://x.com">
...
</a:a>
答案 1 :(得分:1)
您可以使用以下xPath查询://myText/text()
。
作为奖励,使用XSLT,您可以将模板<xsl:template match="myText">
与value-of
选择器结合使用:
<xsl:template match="myText">
<xsl:value-of select="."/>
</xsl:template>