我想找到具有特定属性的节点(例如在下面的示例中,我们具有属性attr)
<root>
<anynode id="1" attr="abc">
first node
</anynode>
<anynode id="2">
2nd node
</anynode>
<anynode id="3" attr="abc">
3rd node
</anynode>
<anynode id="4" attr="def">
4th node
</anynode>
</root>
,我希望它同时遍历XMLDocument和XDocument 如果我可以一次迭代获得ID和ATTR的价值,那就太好了 我已经用谷歌搜索了一下,但是我没有找到任何可以帮助我的方法 我想要的最终结果
1,abc , first node
3,abc , 3rd node
4,def , 4th node
任何帮助将不胜感激
答案 0 :(得分:0)
使用System.Xml.Linq命名空间,我们可以利用XDocument类找到“ anynode”元素的“ id”和“ attr”属性。
var xmlDocument = XDocument.Load(@"path to xml file");
var nodes = xmlDocument.Element("root")?.Elements("anynode");
if (nodes == null)
return;
foreach (var node in nodes)
{
var id = node.Attribute("id")?.Value;
var attr = node.Attribute("attr")?.Value;
Console.WriteLine($"ID = {id}, ATTR = {attr}");
}