使用C#忽略xml中的doctype行

我开发了一个使用c#的项目,读取xml文件,并将指定的输出redirect到CSV文件中。

我从我的代码中得到错误,从XDoc.LoadXml(filenamestr)它直接跳过catch块跳过命令之间。

 try { XmlDocument XDoc = new XmlDocument(); XDoc.LoadXml(filenamestr); XmlDocumentType XDType = XDoc.DocumentType; XDoc.RemoveChild(XDType); XDoc.Save(filenamestr + ".xml"); } catch (Exception ex) { Console.WriteLine(ex.Message); } 

和错误是

 {"Data at the root level is invalid. Line 1, position 1."} 

和XML线包含:

 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?> <!DOCTYPE mdc SYSTEM "MeasDataCollection.dtd"> <mdc xmlns:HTML="http://www.w3.org/TR/REC-xml"> <mfh> 

请帮忙

你应该改变它

 XDoc.LoadXml(filenamestr); 

 XDoc.Load(filenamestr); 

LoadXml需要xmlstring,而不是xml文件名。 您应该Load方法从文件加载xml。