【发布时间】:2012-07-07 08:23:03
【问题描述】:
这是一个很好的谜题。假设我们有这段代码:
<page n="1">
<line n="3">...</line>
</page>
在 page 元素 "n=1" 中定位 line 元素 "n=3" 真的很容易,只需一个简单的 xpath 表达式:xpath(//页[@n='1')/行[@n='3'])。伟大的,美丽的,优雅的。 现在假设我们拥有的是这种编码(熟悉 TEI 的人会知道它来自哪里)。
<pb n="1"/>
(arbitrary amounts of stuff)
<lb n="3"/>
我们想找到 n="3" 的 lb 元素,它跟在 n="1" 的 pb 元素之后。但请注意——这个 lb 元素几乎可以在 pb 之后的任何位置:它可能不是(并且很可能不是)兄弟,但可能是 a 的子元素pb 的兄弟姐妹,或 pb 的父级的兄弟,等等等等。
所以我的问题是:你将如何使用 XPath 搜索这个带有 n="3" 的 lb 元素,它紧跟在带有 n="1" 的 pb 元素之后?
提前致谢
彼得
【问题讨论】:
标签: xpath attributes