我收到的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