使用具有多个条件的 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 节点的主要内容,如果未能解决你的问题,请参考以下文章

如何检查多个 XMLNode 属性的空值?

C# XmlNode 具有祖先类型

XMLNODE:如何在我的 xml 中选择具有属性的此节点

c# .net 怎么将一个xml字符串 转换成一个xmlnode ,(不是xmldocument)

.NET XMLNode 中的 FirstSibling 等价物是啥?

C# 解析XML文件,使用XmlNode["..."]的方式能访问到此节点下的多个同名节点吗?