我遇到了一些XML文件的問題。XML未完全寫入
我有大約500多個文本文件,我讀取和提取數據並將其導出到XML。但是,生成的XML在中途被截斷。
<Maps>
<Location>
</Location>
<Locat
它有點像這樣截斷。當我嘗試在記事本中打開它時,它似乎耗盡了記事本的整個頁面。這可能是由於內存問題,因爲我有相當多的數據。有沒有解決它的方法。我在虛擬機上運行的程序
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();
}
什麼是您的公司德爲這個轉換?張貼在這裏,它會很有用! – David
嘗試記事本++而不是記事本。也許文本文件不是有效的XML? –
似乎是一個截斷的流,因爲Flush()沒有被調用,它應該是。 –