xpath - Xpath:查找标签中未包含的数据

标签 xpath xquery

我正在尝试定位未位于标签旁边的数据(除了所有包含p的数据之外)

<p>
    <strong>id1:</strong>data1<br />
    data2<br />
    <strong>id3:</strong>data3<br />
    <strong>id4:</strong>data4
</p>
<p>
    <strong>id1:</strong>data1<br />
    data2<br />
    <strong>id3:</strong>data3
</p>


关于如何获取data1,data2和data3并能够唯一标识它们的任何建议(例如data3在strong[.='id3:']之后并在<br/>之前结束)

编辑:<br/>之后,data2始终跟随data1
谢谢

最佳答案

要查找紧跟在<strong>id1</strong>之后的文本节点,请使用strong[.='id1']/following-sibling::text()[1](将p元素作为上下文节点)。

假设您知道会有这样的文本节点。更加严格的测试是strong[.='id1']/following-sibling::node()[1][self::text()],它将在strong元素之后找到第一个节点(任何类型),并返回它(假设它是文本节点)。

目前尚不清楚您想如何在示例中识别data2。

关于xpath - Xpath:查找标签中未包含的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4918345/

相关文章:

xml - 如何将祖先元素下的所有后代文本节点作为单个字符串检索?

c#读取xml文件

xquery - 在 Marklogic 中自定义排序

ruby - 使用 Mechanize 获取文本节点?

php - DOM loadhtml提取节点和子节点

xml - 学习 XQuery 的简单工具?

xml - XQuery:如何将大型 xml 文件拆分为较小的文件

xpath - 如何在xpath中获取元素类型?

php - 将 HTML 文本转换为 Leet (1337) Speak with XPath

javascript - 如何使用 xpath 克隆 SVG map