C# 如何通过linq访问XML节点上的属性?
我通读了这篇文章 我有以下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 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");