Xml XPath选择不使用';没有特定的可选属性
我需要访问此XML结构中的第一个节点以进行一些更改:Xml XPath选择不使用';没有特定的可选属性,xml,xpath,Xml,Xpath,我需要访问此XML结构中的第一个节点以进行一些更改: <root-node> <child mandatory="val"> ... </child> <child mandatory="val" optional1="opt1"> ... </child> <child mandatory="val" optional1="opt2" optional2="
<root-node>
<child mandatory="val">
...
</child>
<child mandatory="val" optional1="opt1">
...
</child>
<child mandatory="val" optional1="opt2" optional2="opt3">
...
</child>
</root-node>
...
...
...
请注意,所有子级都有一个在所有情况下都具有相同值的强制属性,以及一个或多个可选属性。但是,如果我在//根节点/child[@mandatory='val']
上执行XPath,我担心可能会得到对其他节点的引用,而我不想触及这些节点
是否有更具体的方法来排除结构中存在特定属性的节点?以下XPath将返回
子元素,这些元素的强制属性等于val
,并且没有定义optional1
属性:
//child[@mandatory='val' and not(@optional1)]
如果只需要第一个元素,则只需将[1]
添加到表达式:
root-node/child[@mandatory='val' and not(@optional1)][1]
谢谢你的快速回复。我会试试看。