-2

一部の 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();
        }
4

1 に答える 1