如何通过linq访问XML节点上的属性
本文关键字:属性 节点 XML 何通过 linq 访问 | 更新日期: 2023-09-27 18:09:33
我看完了这篇文章。
我有这样的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");
如何访问"导出"节点的properties
?
我需要设置properties
Export
元素不有一个properties
元素,这是你的GetAttribute
方法试图找到。
我猜你实际上想要:
var element = xml.Element("Export"); // Just get the first element
var version = (string) element.Attribute("version");
我不清楚你为什么在这里使用查询表达式和委托-它只是比你需要的更复杂的事情。但Attribute(XName)
可能是你错过的…