首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对没有特定可选属性的节点进行XPath选择

对没有特定可选属性的节点进行XPath选择
EN

Stack Overflow用户
提问于 2013-06-17 16:04:05
回答 1查看 1.9K关注 0票数 4

我需要转到这个XML结构中的第一个节点进行一些更改:

代码语言:javascript
复制
<root-node>
    <child mandatory="val">
        ...
    </child>
    <child mandatory="val" optional1="opt1">
        ...
    </child>
    <child mandatory="val" optional1="opt2" optional2="opt3">
        ...
    </child>
</root-node>

请注意,所有子对象都有一个强制属性,该属性在所有情况下都具有相同的值,外加一个或多个可选属性。但如果我在//root-node/child[@mandatory='val']上执行XPath,我担心我可能也会得到对其他节点的引用,而我不想接触这些节点。

有没有更具体的方法来排除结构中具有特定属性的节点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-17 16:13:02

以下XPath将返回mandatory属性等于val且未定义optional1属性的child元素:

代码语言:javascript
复制
//child[@mandatory='val' and not(@optional1)]

如果您只需要第一个元素,那么只需将[1]添加到表达式:

代码语言:javascript
复制
root-node/child[@mandatory='val' and not(@optional1)][1]
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17142904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档