日期:2014-05-17  浏览次数:20804 次

XML如何转换成DataTabel?
我有1个XML格式文件,里面是Excel.Sheet格式(可以拖进EXCEL程序中打开),现在需要将里面的sheet页分别转换成数据库的DataTable请问有何快速方法?
xml内容:
<?xml version="1.0"?><?mso-application progid="Excel.Sheet"?><Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"><DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">...
我是使用以下方法解析,这个表格是63000行9列,执行完成需要1个多小时,有没更加快速的方法?谢谢。


string xmlPath = "adxml.xml";
                XmlDocument XmlFiles = new XmlDocument();
                XmlFiles.Load(xmlPath);
                DataSet ds = new DataSet();
                ds.ReadXml(new XmlTextReader(new StringReader(XmlFiles.InnerXml)));
//将ds中TableName="Data"解析很麻烦,而且很慢

------解决方案--------------------
XmlDocument 是把整个 xml 都读到内存里处理了。

可以换成 XmlReader 节点单位处理
------解决方案--------------------
xml果然是很麻烦的东西,尽量避免吧。主要是格式之后需要调整,烦!尽量用html来做页面和保存数据