搜索具有相似值的 xml 属性

Posted

技术标签:

【中文标题】搜索具有相似值的 xml 属性【英文标题】:Searching xml attribute having similar values 【发布时间】:2016-08-15 12:42:56 【问题描述】:

我有一个 xml

<?xml version="1.0" encoding="utf-8"?>
<content>
  <field title="Year">
    <description>Numeric data</description>
    <comment>1234</comment>
  </field>
  <field title="mail">
    <description>Numeric data</description>
    <comment>ABCD</comment>
  </field>
<field title="Years">
    <description>AlphNumeric Data</description>
    <comment>ABCD1234</comment>
  </field>
</content>

使用下面的代码,我提取 &lt;description&gt;&lt;Comment&gt; 的节点值,它们位于属性 Title 下,Value='year'

XmlDocument xml = new XmlDocument();
XmlNodeList xnList = xml.SelectNodes("/contentr/field[@title='"+ searchdata +"']");

如果 searchdata = 'year' 那么 这将只提取值为'year'的属性的节点值。但我需要提取属性值包含'year'以及'years'的所有数据

有没有办法做到这一点?我正在开发 c#,ver 2.0

【问题讨论】:

【参考方案1】:

使用contains()函数:

xml.SelectNodes("/content/field[contains(@title,'" + searchdata + "')]")

【讨论】:

以上是关于搜索具有相似值的 xml 属性的主要内容,如果未能解决你的问题,请参考以下文章

如何搜索 xml 节点值,然后在 c# 中为该元素创建新属性

动态创建具有不同数量的属性和值的谓词

在 XML 文档中搜索值列表

按属性搜索 XmlNode

无法搜索具有重复值的条目

NSPredicate 搜索具有 nil 值的连接表