Ond*_*tny 3 xpath html-agility-pack
我正在尝试使用XPath 1.0(或可能与Regex一起)选择元素(a),这些元素遵循特定元素(b)的兄弟,但仅在另一个b元素之前.
<img><b>First</b><br>
<img> <a href="/first-href">First Href</a> - 19:30<br>
<img><b>Second</b><br>
<img> <a href="/second-href">Second Href</a> - 19:30<br>
<img> <a href="/third-href">Third Href</a> - 19:30<br>
Run Code Online (Sandbox Code Playgroud)
我试图使样本尽可能接近现实世界.所以在这种情况下,当我在元素
<b>First</b>
Run Code Online (Sandbox Code Playgroud)
我需要选择
<a href="/first-href">First Href</a>
Run Code Online (Sandbox Code Playgroud)
当我在
<b>Second</b>
Run Code Online (Sandbox Code Playgroud)
我需要选择
<a href="/second-href">Second Href</a>
<a href="/third-href">Third Href</a>
Run Code Online (Sandbox Code Playgroud)
知道如何实现吗?谢谢!
动态创建此XPath:
following-sibling::a[preceding-sibling::b[1][.='xxxx']]
Run Code Online (Sandbox Code Playgroud)
其中'xxxx'被替换为当前的文本<b>.
这假设所有元素实际上都是兄弟姐妹.如果不是,您可以尝试使用preceding和following轴,或者编写更具体的XPath,更好地类似于文档结构.
在XSLT中,您还可以使用:
following-sibling::a[
generate-id(preceding-sibling::b[1]) = generate-id(current())
]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |