我收到的XML消息的形式大致如下(相信我,这不是我多么希望它):如何扁平化这个XML
<items>
<item item="A" position="0">
<itemvalue>10</itemvalue>
</item>
<item item="A" position="1">
<itemvalue>20</itemvalue>
</item>
<item item="A" position="2">
<itemvalue>30</itemvalue>
</item>
<item item="B" position="0">
<itemvalue>10</itemvalue>
</item>
<item item="B" position="1">
<itemvalue>20</itemvalue>
</item>
<item item="B" position="2">
<itemvalue>30</itemvalue>
</item>
</items>
我撕碎使用LINQ的XML。所以我得到的是项目列表|位置|值。我真的希望数据是匹配我的表结构。
Item | Column1 | Column2 | Column3
A 10 20 30
什么是最好的方式让我采取该名单和建立一个单独的对象我可以传递给数据库。现在,我得到了不同的项目清单(在这里是A & B),然后将它传递给Lambda表达式,以便我可以告诉给我Item = A和Position = X(0,1,2)的值。
只是想知道什么是最好的方法来“扁平”这个结构不好的XML。
你可以只创建一个字典,用结构像词典<字符串,字典>然后通过将文档扫描,填充此词典..一旦数据在那里,它是'平'(ish)格式,这很容易格式化。或者,也可以创建一个新的xml文档,并用所需的格式填充它。 –
2012-01-10 01:14:06
[相关MSDN主题](http://social.msdn.microsoft.com/forums/en-US/xmlandnetfx/thread/898cf984-439b-4dbe-89eb-07d2690b47b7) – 2012-01-10 01:16:30
难道你不是指“unflatten”吗? – harpo 2012-01-10 01:18:52