使用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。