2017-06-18 6 views
0

属性名がitempropでwhithが属性がitemtype = http://schema.org/Productの任意のレベルの親を持ち、他の属性がitemtypeのノードにある要素を除きます。xpath:要素は最終的に特定の親を持っていません

例:

//*[normalize-space(@itemtype) = 'http://schema.org/Product']/descendant::*[not(descendant-or-self::*[@itemtype])][@itemprop] 

この文字列ではなく、すべてで有効と他:

<div itemtype = "http://schema.org/Product" > 
    <div itemtype = "http://schema.org/BreadcrumbList" > 
    <div itemprop = "name" > A </div> 
    <div itemprop = "price" > B </div> 
    <div itemtype = "http://schema.org/ListItem" > 
     <div itemprop = "description"> C </div> 
    </div> 
    </div> 
    <div itemprop = "name" > D </div> 
    <div> 
    <div> 
     <div itemprop = "price" > E </div> 
    </div> 
    </div> 
</div> 

私は、私はこのようsomerhingしようとしたC. 、唯一のDとEの要素ではなく、A、Bを必要とします私の試みは、A、B、C要素を排除しなかった。

答えて

0

はそれは素晴らしいことだだけ

//div[@itemprop and count(ancestor::*[@itemtype='http://schema.org/Product'])=count(ancestor::*[@itemtype])] 
+0

"http://schema.org/Product"値を持つ属性itemtypeを持つ祖先を持つ要素を取得することができた表現の下に使用してみてください。あなたは私を助けた。どうもありがとう! –

関連する問題