以更快/更短的方式在XElement中使用c#中指定的属性获取属性值
本文关键字:属性 获取 XElement 方式 | 更新日期: 2023-09-27 18:08:49
假设我有如下内容:
<my-element>
<property name="the property name" value="the value"/>
<property name="some other property name" value="other value"/>
</my-element>
我使用以下代码从名称等于的属性中获取 "属性名称"。
string theValue = (
from p
in myElement.Elements("Property")
where p.Attribute("name").Value == "the property name"
select p.Attribute("value").Value
).FirstOrDefault();
这个片段完成了工作,但我想知道是否有更好的方法来完成它。
我不确定这种主观的更好的方法,但是您也可以使用Xpath
var xDoc = XDocument.Parse(xmlstring);
var val = (string)xDoc.XPathSelectElement("//property[@name='the property name']")
.Attribute("value");