0
我有下面的XML:根據 「史記」解析XML數據表到
<RECORDS>
<RECORD>
<PROPERTY NAME="FNAME" TYPE="string"></PROPERTY>
<PROPERTY NAME="LNAME" TYPE="string">
<VALUE>SMITH</VALUE>
</PROPERTY>
<PROPERTY NAME="ZIP" TYPE="string">
<VALUE></VALUE>
</PROPERTY>
<PROPERTY NAME="PHONE" TYPE="string">
<VALUE>5551212</VALUE>
</PROPERTY>
</RECORD>
<RECORD>
....
</RECORD>
<RECORD>
....
</RECORD>
<RECORD>
....
</RECORD>
</RECORDS>
有可能是1000 「RECORD」 的節點。我試圖簡單地將每個記錄轉儲到一個數據行(或整個事物到一個數據表)。我很樂意將所有「VALUE」放入每一行的列中。有沒有一種有效的方式在C#中執行此操作?做foreach()和每次訪問每個屬性似乎非常緩慢。
我想它會涉及Row.ItemArray或可能XMLArray或沿着這些線的東西。
有興趣看到一個很好的解決方案!
如果你想要去的數據集的路線,嘗試:var數據=新的DataSet(); dataSet.ReadXml(xmlVariable); – mcr
什麼是「非常慢」?你從根本上必須迭代每條記錄,將它從XML轉換爲數據行,所以'foreach'本身並不是問題。 –
使用ReadXML可能會工作,但我不清楚如何告訴它的結構。如果您注意到,列名稱是屬性的屬性,並且值是VALUE的InnerText(如果存在)。 –