【发布时间】:2015-09-24 19:15:12
【问题描述】:
我们有一个包含大量数据的 60 万行 XML 文件。在所有数据中,我需要读取的是节点<mv>,而知道我要读取哪个<mv>的方法是因为它内部有一个元素<mod>,其文本以“ValueAssigned =1,函数=1,Id="
这无论如何都不是一个完整的 XML 字符串,但这将是某种的例子。
最终结果是将每个Id 与其在<t> 中的值相匹配。
<mv>
<mod>ValueAssigned=1, Function=1, Id=1</mod>
<t>123</t>
<t>20</t>
<t>10</t>
<t>40</t>
</mv>
<mv>
<mod>ValueAssigned=1, Function=1, Id=2</mod>
<t>300</t>
<t>21</t>
<t>56</t>
<t>30</t>
</mv>
结果是将其保存到表格中。我不需要帮助将数据保存到表中,但我确实需要帮助尝试将所有这些部分保存到某种类型的列表中:
ID Value
1 123
1 20
1 10
1 40
2 300
2 21
2 56
2 30
我正在考虑这样的事情,但我还没有尝试过:
string textToFind = "ValueAssigned=1, Function=1, Id=";
IEnumerable<XElement> query1 = doc.Descendants("mod").Where(c => c.Value == TextToFind).Ancestors("mv");
谢谢。
【问题讨论】:
-
@WinterMute 该xml文件的设计者需要了解xml
-
我在想这样的东西,但我还没有尝试过。所以试一试,如果它不起作用,我们可以提供帮助。