获取 XML 中的属性值列表
本文关键字:列表 属性 XML 获取 | 更新日期: 2023-09-27 17:56:29
有没有办法获取特定b的属性值列表(例如r4)?
包含:"p3e3"和"p3e4"的List<string>
<a>
<b id="r4" Name="b 4">
<P>
<Pr id="p3e3" />
<Pr id="p3e4" />
</P>
</b>
<b id="r5" Name="b 5">
....
</b>
</a>
我得到的最多的是包含"<Pr id="p3e3" />
"和"<Pr id="p3e4" />
"的List<XElement>
var xdoc = XDocument.Load(path_to_xml);
var result = xdoc.Root.Elements("b")
.Where(b => (string)b.Attribute("id") == "r4")
.SelectMany(b => b.Element("P").Elements("Pr"))
.Select(pr => (string)pr.Attribute("id"));
或者使用 XPath:
var result = xdoc.XPathSelectElements("a/b[@id='r4']/P/Pr")
.Select(pr => (string)pr.Attribute("id"));