XPath如何在一级查找嵌套元素



我有以下XML:

<article>
<div class="class1">
<span>Article header 1</span>
<div>
<span>Date</span>
</div>
</div>
<div class="class2">
<span>Details</span>
<div class="class3">
<span>Number</span>
</div>
</div>
<div>
<span>Price 1</span>
</div>
<div class="class3">
<span>Footer 1</span>
<div>Footer details</div>
</div>
</article>
<article>
<div class="class1">
<span>Article header 2</span>
<div>
<span>Date</span>
</div>
</div>
<div>
<span>Price 2</span>
</div>
<div class="class2">
<span>Details</span>
<div class="class3">
<span>Number</span>
</div>
</div>
<div class="class3">
<span>Footer 2</span>
<div>Footer details</div>
</div>
</article

我想只选择没有类的DIV,并且只从第一个嵌套级别选择在这种情况下,

<div>
<span>Price 1</span>
</div>

<div>
<span>Price 2</span>
</div>

请注意,第一篇文章中的div位于3位,而第二篇文章中则位于2位

我试着用


//div[not(@class)]

但它在文章中找到了所有元素,不仅来自第一个嵌套

您接近正确的表达式
这将选择您要查找的内容:

article/div[not(@class)]

该CCD_ 1指示顶部节点CCD_ 3的直接CCD_。

最新更新