我想提取标签外的文本。例如,
<body>
This is an exmaple
<p>
blablabla
</p>
<references>
refer 1
refer 2
</references>
</body>
我只想获取文本“This is an example”而其他标签(p 或引用)中没有文本。我尝试了几种方法但不起作用。任何人都可以帮忙吗?非常感谢。
最佳答案
您必须将标签内的文本视为节点。使用测试节点 text()
检索文本节点。例子。鉴于:
<body>
This is an exmaple
<p>
blablabla
<\p>
<references>
refer 1
refer 2
<\references>
another example
<\body>
XPath:
"/body/text()"
将检索 body
的所有子文本节点,例如“This is an exmaple”和“another example”,同时:
"/body/text()[1]"
将只检索第一个,“This is an exmaple”。如果您想要所有后代文本节点,您可以使用:
"/body//text()"
或者,您希望所有文本节点都位于第一个 p:
"/body/p[1]//text()"
关于xml - 如何提取标签外的文本xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6871273/