Ich brauche eine Möglichkeit, Text zwischen zwei Tags auszuwählen (dem ersten -Tag und dem nachfolgenden
-Tag):
<div> <span>abc</span> defg <br> hijkl <br> mnop <span>qrs</span> tuvw <br> xyz </div>
Wie wähle ich mithilfe des XPath-Ausdrucks nur „defg“ aus?
Ich habe versucht, mit following-sibling
das erste -Tag nach dem ersten
-Tag zu finden, aber ich finde keine Möglichkeit, den Text dazwischen auszuwählen.
使用这个XML输入,
XPath表达式
/div/span[1]/following-sibling::text()
返回第一个元素后面的5个兄弟文本节点:defg
、hijkl
、mnop
、tuvw
和xyz
,每个节点都以换行符开头和结尾。XPath 1.0表达式
normalize-space(/div/span[1]/following-sibling::text())
将返回defg
,没有前导或尾随空白,作为normalize-space()
的参数,通过返回节点集中的节点的字符串值将其转换为字符串,该节点在文档顺序中是第一个。在XPath 2.0及更高版本中,选择序列中的第一个项目,例如:
normalize-space((/div/span[1]/following-sibling::text())[1])
,这在XPath 1.0中也适用。