<div>
<p>a</p>
<ul>
<li></li>
</ul>
<other-tags></other-tags>
<div>
我想在上面的例子中选择p
和li
标签。
我可以使用//div/p|//div/ul/li
来做到这一点,但是如果没有|
可以实现相同的目标,换句话说,不重复//div
。我尝试了//div/*[self::p or self::ul/li]
,但它选择了p
和ul
标签。
这个XPath,
//*[self::p or self::li]
将选择文档中的所有p
和li
元素。
这个XPath,
//div[@id="i1"]//*[self::p or self::li]
将选择目标p
元素下的所有li
和div
元素。
你应该做的只是使用//p|//li
。此外,它有助于研究before
在StackOverflow上发布它的东西,因为我发现这个信息here。你为什么要在你的XPath中避免使用|
?