我正在尝试使用 xpath 从页面中提取 HTML5 微数据。我本质上是想说“查找具有 itemprop=name 属性的嵌套节点,这些节点未嵌套在另一个 itemscope 元素中(任何深度)”。鉴于以下示例,我正在尝试查找产品(鞋子)的名称,但我不想要品牌名称(耐克)。
<div itemscope itemtype="http://schema.org/Product>
<div itemscope itemtype="http://schema.org/Brand">
<div itemprop="name">Nike</div> <!-- don't want this -->
</div>
<div itemprop="name">shoes</div> <!-- do want this -->
</div>
我可以通过使用类似 //*[@itemprop=name] 的方式轻松找到 itemprop=name 元素,但这也会引入品牌名称。顺便说一句,示例中显示的元素可能嵌套在其他标签中,所以我不能简单地说“其直接父级没有 itemscope 属性”我相信可能有一些与我可以使用但我不知道的祖先有关的东西关于xpath的足够了。有任何想法吗?