【发布时间】:2012-01-24 22:39:35
【问题描述】:
我需要根据某些字段值从 xml 文件中提取数据。 xml文件是这样设置的
<main>
<report>
<version>1.0</version>
<ID>1234</ID>
<field>
<acel>80</acel>
<decel>50</decel>
<left>20</left>
<right>10</right>
<category>1-10</category>
</field>
<field>
<acel>30</acel>
<decel>54</decel>
<left>12</left>
<right>13</right>
<category>10-20</category>
</field>
<field>
<acel>34</acel>
<decel>210</decel>
<left>27</left>
<right>9</right>
<category>20-30</category>
</field>
</report>
<report>
....
</report>
</main>
我目前有以下:
var query = doc.Descendants("report")
.Select(raw => new
{
version = (string)raw.Element("version"),
tcid = (string)raw.Element("id"),
forces = raw.Element("field").Elements("acel").Select(acel => (int)acel).ToList()
});
我需要在文件中搜索与特定 ID 和特定版本匹配的报告,然后获取相关字段 acel、decel、left、right 等。
例如,我需要查找 ID 1234 和 1.0 版的报告,并且所有字段值都为 80、50 等。任何帮助都很棒。我的代码已经返回 ID 和版本,但是我无法根据版本和 ID 获取字段的所有值。
谢谢。
【问题讨论】:
-
有很好的文档说明如何使用大量示例进行所有这些操作:- msdn.microsoft.com/en-us/library/bb387061.aspx