Html 特定同级之前的所有子元素的XPath?
我有一个HTML文件,如下所示:Html 特定同级之前的所有子元素的XPath?,html,xml,xpath,Html,Xml,Xpath,我有一个HTML文件,如下所示: <r> <ab id = "1"> <event/> <li>a</li> <li>b</li> <action/> <li>a2</li> <li>b2</li> <action/> </ab> <ab id = "2"
<r>
<ab id = "1">
<event/>
<li>a</li>
<li>b</li>
<action/>
<li>a2</li>
<li>b2</li>
<action/>
</ab>
<ab id = "2">
<event/>
<li>a3</li>
<li>b3</li>
<action/>
</ab>
</r>
但是,在第二步中,我陷入了困惑,我试图使用
following-sibling::*[following-sibling::action[1]]
它给了我结果
<li>a</li>
<li>b</li>
<action/>
<li>a2</li>
<li>b2</li>
<li>a3</li>
<li>b3</li>
a
b
,但不太明白如何使用它,有人能帮我解释一下吗?这个XPath
/r/ab/event/following-sibling::li[not(preceding-sibling::action)]
将选择所有li
元素,这些元素位于事件
元素之后,并且没有前面的操作
元素同级
<li>a</li>
<li>b</li>
<li>a3</li>
<li>b3</li>
a
b
a3
b3
按要求
<li>a3</li>
<li>b3</li>
/r/ab/event/following-sibling::li[not(preceding-sibling::action)]
<li>a</li>
<li>b</li>
<li>a3</li>
<li>b3</li>