当前位置: 首页 > 知识库问答 >
问题:

XPath-获取只有具有特定属性的子节点的节点

郎恺
2023-03-14

我有一个SVG文档,其中包含类似于以下内容的节点:

<item>
    <g>
        <path fill="#FFFFFF" ... ></path>
        <path fill="none" ... ></path>
        <ellipse fill="none" ... ></path>
    </g>
    <g>
        <path fill="none" ... ></path>
        <path fill="none" ... ></path>
        <ellipse fill="none" ... ></path>
    </g>
    <g>
       <path fill="#FFFFFF" ... ></path>
       <path fill="#FFFFFF" ... ></path>
       <ellipse fill="#FFFFFF" ... ></path>
    </g>
</item>

我想做的只是选择

我在谷歌上搜索过堆栈溢出,但似乎什么都没用。

我认为应该解决的最接近的一个问题是,在使用帮助器的Google Chrome开发工具中,它不是有效的XPath表达式。

*[name()=“g”及其子体::*[@fill=“none”]

感谢您的帮助

谢啦


共有1个答案

锺离慈
2023-03-14

尝试:

*[    name()="g"
  and descendant::*[@fill="none"]
  and count(descendant::*[@fill="none"]) = count(descendant::*)
 ]
 类似资料:
  • 无法完成这项理论上相对简单的任务: 查找节点文档,其中Field具有包含特定文本的属性Name,并且子节点Option具有值。 XML: 所以我希望能够将模板应用到文档中,比如 但那是行不通的。 只需指定:文档必须在选项中包含文本,该选项是包含特定文本的字段的子节点。 在xml中,使用输入值: 1:Børn Fridslip= 2: Børn-Fritidsklub= 3:Børn Fritid=

  • 我试图找到一个有两个子节点的web元素: 我尝试了来获取第一个元素,但对我来说不起作用。

  • 我已经掌握了XPath的基本知识,但在确定以下内容是否可以在使用XPath的C代码中实现时遇到了一些困难(或者我是否需要将其转移到其他代码中,正如我目前所做的那样)。 我有一个XML文档,它由以下结构组成: 其中有多个设置参数值。现在我需要做的只是检索那些包含name属性某些值的setParameter节点。我可能有这些值的可能匹配列表,但它们不会是完全匹配,它们将是节点的name属性必须包含的值

  • 我有一个XML文档,它包含一个非常复杂(对我来说)的结构,没有换行符。它有许多具有类似结构的元素: 我需要得到节点值的文本,这是节点成员的孩子也有孩子的名字与特定的文本(在这种情况下virtual_size)。也有可能存在几个类似的节点。我可以用[1]etc吗? 这让我知道了节点的名称,但是如何达到“值”节点呢?

  • 这似乎是一个相当简单的问题,但我已经为此绞尽脑汁好几个小时了。我有一个类似于下面的节点结构: 我需要从子节点收集三种类型的属性:一种是字符串、布尔值和字符串数组。我认为下面的sql2查询可以工作并获得它们的属性,但无论出于什么原因,我都会得到一个错误: 查询 错误: 感谢您的帮助,因为我已经在这几天了。