为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过属性值的模式查找XML元素

如何通过属性值的模式查找XML元素

C#
MMMHUHU 2023-09-16 17:16:29
我需要通过属性值的模式搜索 XML 元素。我当前正在处理的 XML 文件如下所示:<root>   <items>      <item Id=“001” name=“Foo001”></item>      <item Id=“002” name=“Foo002”></item>      <item Id=“003” name=“Boo001”></item>   </items></root>我需要搜索 name 属性值以“Boo”开头的元素我尝试使用以下代码(在谷歌上找到)进行搜索,但它不起作用XmlDocument doc = new XmlDocument();doc.Load(myXmlFilePath);XmlNode match = doc.SelectSingleNode(“/root/items/item[substring(@name,1,3)=‘Boo’]”);Console.WriteLine(match.Value.ToString());谁能告诉我如何用 C# 实现我需要的东西?
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您在 XML 和 XPATH 中使用了错误的引号。


将 XML 中的“更改为””


将 XPATH 中的 'to' 更改为


<root>

 <items>

     <item Id="001" name="Foo001"></item>

     <item Id="002" name="Foo002"></item>

     <item Id="003" name="Boo001"></item>

 </items>

</root>


XmlNode match = doc.SelectSingleNode("/root/items/item[substring(@name,1,3)='Boo']");

为了读取结果:


// read the attribute name

Console.WriteLine(match.Attributes["name"].Value);


// read the text in item        

Console.WriteLine(match.InnerText);


查看完整回答
反对 回复 2023-09-16
  • 1 回答
  • 0 关注
  • 46 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信