我有以下 XML:
<propertyMetrics month="12" year="2013" propertyId="3923837">
<metric name="siteTotal" uom="kBtu" dataType="numeric">
<value>409249.0</value>
</metric>
<metric name="waterUseTotal" uom="kgal" dataType="numeric">
<value>2434.2</value>
</metric>
<metric name="totalGHGEmissions" uom="MtCO2e" dataType="numeric">
<value>28.5</value>
</metric>
<metric name="greenPowerOnSite" dataType="numeric">
<value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" />
</metric>
</propertyMetrics>
我想要的是关闭“名称”属性并获取与该名称关联的“值”和“uom”。我正在努力找出一种简单的方法来做到这一点。有什么想法吗?
最佳答案
未经测试,我不确定最后一个“null”值,但它给出了将其作为 Dictionary<string, anonymous>
的基本思路。
var doc = XElement.Load(fileName);
var data = dox.Descendants("metric")
.ToDictionary(e => e.Attribute("name").Value,
e => new { uom = e.Attribute("uom").Value, value =(double?) e.Element("Value") });
关于c# - 如何使用 LINQ 解析此 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23919044/