C# 如何通过linq访问XML节点上的属性?

C# 如何通过linq访问XML节点上的属性?,c#,.net,xml,linq,linq-to-xml,C#,.net,Xml,Linq,Linq To Xml,我通读了这篇文章 我有以下XML: <?xml version="1.0" encoding="utf-8" ?> <Export version="" srcSys="" dstSys="" srcDatabase="" timeStamp=""> </Export> 这是我尝试过的,但没有成功: var xml = XElement.Parse(BuyingModule.Properties.Resources.Export);

我通读了这篇文章

我有以下XML:

<?xml version="1.0" encoding="utf-8" ?>
    <Export version="" srcSys="" dstSys="" srcDatabase="" timeStamp="">

    </Export>

这是我尝试过的,但没有成功:

var xml = XElement.Parse(BuyingModule.Properties.Resources.Export);

Func<XElement, string, string> GetAttribute = (e, property) => e.Elements("property").Where(p => p.Attribute("name").Value == property).Single().Value;

var query = from record in xml.Elements("Export")
            select record;

var prop = GetAttribute(query.FirstOrDefault(), "version");
var xml=XElement.Parse(BuyingModule.Properties.Resources.Export); Func GetAttribute=(e,property)=>e.Elements(“property”)。其中(p=>p.Attribute(“name”).Value==property)。Single().Value; var query=来自xml.Elements中的记录(“导出”) 选择记录; var prop=GetAttribute(query.FirstOrDefault(),“version”); 如何访问“导出”节点的属性


我需要设置那些
properties

Export
元素没有
properties
元素,这正是
GetAttribute
方法试图查找的

我猜你真的想要:


我不清楚为什么在这里使用查询表达式和委托-这只是比您需要的更复杂的事情。但这可能是你错过的…

谢谢你的帮助Jon。看起来我不需要第一行tho(
var element=xml.element(“Export”))
。我直截了当地说:
var version=xml.Attribute(“version”)
@Willem:Ah-我假设因为您在查询中查找
Export
元素,所以您实际解析的XML上面有一个顶级元素。。。
var element = xml.Element("Export"); // Just get the first element
var version = (string) element.Attribute("version");