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(如果存在)。 –