使用具有多个条件的 XMLNode(.Net) 获取 XML 节点

Posted

技术标签:

【中文标题】使用具有多个条件的 XMLNode(.Net) 获取 XML 节点【英文标题】:Get XML node using XMLNode(.Net) with multiple condition 【发布时间】:2013-03-11 08:43:59 【问题描述】:

我的XML格式是这样的。

<Rule id="MyRule">
      <SubRule type="min" id="50" />
</Rule>

我写了路径来获取 id 大于等于 50

的每个节点>
Rule[@id='MyRule']/subrule[@type='min' and @id>='50']

但我没有得到我想要的,它只是返回了所有节点。

【问题讨论】:

【参考方案1】:

您是否尝试过以下方法(更改 SubRule 和字符串比较的大小写)?

Rule[@id='MyRule']/SubRule[@type='min' and compare(@id,'50')>=0]

你所有的数字都是两位数吗? (我猜是 '7' > '50', '100'

如果你只是想比较数字,你可以试试

Rule[@id='MyRule']/SubRule[@type='min' and number(@id)>=50]

【讨论】:

谢谢您的回答,但我对此感到困惑。我想要的只是获取那些@id 大于 50 的节点。 @kst 刚刚完成我的回答

以上是关于使用具有多个条件的 XMLNode(.Net) 获取 XML 节点的主要内容,如果未能解决你的问题,请参考以下文章