600mb付近の大量のxmlデータを変換したいと思っています。ヘッダやルートノードがありません。次のコードを試しましたが、ルートノードはありません。大きなファイルを処理する最も効果的な方法は何ですか?大きなxmlをcsvに変換する
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
有効なスキーマ – rogue39nin
を持つサイズが600mbのファイルがない場合、空のファイルを返すだけのエラーはありません。ルートノードAのように2つの子BとCがあるCのサンプルxmlファイルを作成しましたか? 1人の子供...いくつかのガベージテキストノードを追加し、まだ何も得られないかどうかを確認します。 – Veverke