您好我正在尝试通过将其与excel文件中的字符串合并来处理多个XML文件。这就是我在代码中编写的方式
try
{
CXMLProcessing xmlProc = new CXMLProcessing();
Demo = Demo + 1;
string OutputData = "";
string attr = "";
XmlDocument doc = new XmlDocument();
doc.Load(fileItem);
XmlNode node = doc.DocumentElement;
xmlProc.CreateXML(node, ref OutputData, ref attr, dictionary, textBoxCNFLCID.Text, radioReference.Checked);
XmlTextWriter xmlwriter = new XmlTextWriter(textOutputCNF.Text + file_Name, fileEncoding);
xmlwriter.Formatting = Formatting.Indented;
xmlwriter.WriteStartDocument(true);
doc.Save(xmlwriter);
//xmlwriter = null;
doc = null;
xmlProc=null;
xmlwriter.WriteEndDocument();
return true;
}
由于WriteStartDocument访问它,我似乎无法继续将文件保存到xml中。每次我尝试处理多个文件时都会发生这种情况。有没有办法绕过这个例外?我尝试添加.Close但它仍然得到异常。这是用C#编写的。感谢。
答案 0 :(得分:1)
是的 - 调用doc.Save
会尝试再次启动文档。
您是否考虑过致电:
doc.DocumentElement.WriteTo(xmlwriter);
writer.WriteEndDocument();
或者只是删除对xmlwriter.WriteStartDocument
的调用...一开始并不清楚为什么你这样做。
(您还应该为using
使用xmlwriter
语句,并在方法结束时将无意义的赋值移除为null。)