【发布时间】:2010-01-06 21:23:46
【问题描述】:
我有以下类型的 HTML。内容按<div "id=foo"> 和<div "id=foo1"> 元素分组,<div "style=padding…"> 介于两者之间。
我正在尝试弄清楚如何制作一个 XPath 表达式,该表达式将允许我触发 "id=foo" 以返回兄弟 <div>s 和 "style=padding…"
获取<div id="foo"> 很简单。但是,我不能只基于"style=padding…" 做一个following-sibling,因为它会返回所有匹配的<div>s。
我需要一种方法来返回匹配的<div>s,直到我找到与"id=foo1" 匹配的兄弟姐妹。我很确定我缺少一种简单的方法!
<div id="foo">stuff...</div>
<div style="padding:2px; ">stuff...</div>
<div id="foo1">stuff...</div>
<div id="foo">stuff...</div>
<div style="padding:2px; ">stuff...</div>
<div style="padding:2px; ">stuff...</div>
<div style="padding:2px; ">stuff...</div>
<div id="foo1">stuff...</div>
【问题讨论】:
-
您应该能够构造一个基于“preceding-sibling”轴的谓词,并将其应用于使用“following-sibling”轴检索的节点集。但是,我不想尝试调试/维护该查询。
-
如果你在谈论xhtml,是否有多个元素具有相同的id? (id="foo")。
标签: xpath