0
我想轉換600mb附近的大量xml數據,我不會在它的標題或根節點不會嘗試下面的代碼,但它抱怨它沒有它的根節點。什麼是處理大文件最有效的方式。如果你的XML是有名稱爲「ReportDetails」轉換大的xml到csv
示例XML文件根節點此代碼工作應該像
<?xml version="1.0"?>
<ReportDetails>
<Sequence>
<SourcePath>
<X>samply x</X>
<Y>xample y</Y>
</SourcePath>
</Sequence>
</ReportDetails>
你的XML缺少「
using (FileStream fs = new FileStream(@"C:\Projects\csvExport\csvExport\csvExport\bin\VLFLBNM7.xml", FileMode.Open))
{
XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "ReportDetails";
// xRoot.Namespace = "http://www.cpandl.com";
xRoot.IsNullable = true;
XmlSerializer serializer = new XmlSerializer(typeof(Sequence[]),xRoot);
var data = (Sequence[])serializer.Deserialize(fs);
List<string> list = new List<string>();
foreach (var item in data)
{
List<string> ss = new List<string>();
foreach (var point in item.SourcePath) ss.Add(point.X + "," + point.Y);
list.Add(string.Join(",", ss));
}
File.WriteAllLines(@"C:\Projects\csvExport\csvExport\csvExport\bin\csvFile.csv", list);
}
什麼是確切的錯誤消息? – Veverke
它只是返回一個空文件沒有這樣的錯誤,當我沒有該文件是600MB的大小與有效的架構 – rogue39nin
您嘗試創建一個示例xml文件,如根節點A有2個孩子B和C,其中C有一個孩子......添加一些垃圾文本節點,看看你還沒有得到什麼? – Veverke