一部の XML ファイルに問題があります。
データを読み取って抽出し、XMLにエクスポートする約500以上のテキストファイルがあります。ただし、生成される XML は途中で切り捨てられます。
<Maps>
<Location>
</Location>
<Locat
そのようにいくらか切り捨てられます。メモ帳で開こうとすると、メモ帳のページ全体を使い果たしているようです。大量のデータがあるため、メモリの問題が原因である可能性があります。それを回避する方法はありますか。VMでプログラムを実行しています
private XmlTextWriter writer = new XmlTextWriter("Maps.xml", System.Text.Encoding.UTF8);
static void Main(string[] args)
{
Program prog = new Program();
String[] filenames = Directory.GetFiles(@"maps_new");
prog.writer.WriteStartDocument();
prog.writer.WriteStartElement("Maps");
foreach (String file in filenames)
{
prog.extractToXML(file);
}
prog.writer.WriteEndElement();
prog.writer.WriteEndDocument();
}
public void extractToXML(String filename)
{
XPathNodeIterator NodeIter;
XPathDocument xmldoc = new XPathDocument(filename);
XPathNavigator nav = xmldoc.CreateNavigator();
String query = "//Schema/@tree";
NodeIter = nav.Select(query);
writer.WriteStartElement("file");
writer.WriteStartAttribute("name");
writer.WriteString(extractFileName(filename));
writer.WriteEndAttribute();
while (NodeIter.MoveNext())
{
writer.WriteStartElement("type");
writer.WriteString(extractFileName(NodeIter.Current.Value.ToString()));
writer.WriteEndElement();
}
NodeIter = nav.Select("//Location");
while (NodeIter.MoveNext())
{
writer.WriteStartElement("Location");
writer.WriteString(NodeIter.Current.Value.ToString());
writer.WriteEndElement();
}
writer.WriteEndElement();
}