我需要从文件中加载xml到XmlDocument。问题是该文件包含一些领先的空白。 (我无法控制生成该文件的系统。) 是否有任何干净/简单的方法来忽略或去除这些字符?如何忽略XML文件中的空白字符?
string SamplelRequestFile = @"C:\example.xml";
XmlDocument docXML = new XmlDocument();
XmlTextReader xReader = new XmlTextReader(SamplelRequestFile);
XmlReaderSettings ReaderSettings = new XmlReaderSettings();
ReaderSettings.XmlResolver = null;
ReaderSettings.ProhibitDtd = false;
docXML.Load(xReader);
的example.xml(注意前导空格)
<?xml version="1.0" ?>
<myRoot>
<someElement />
</myRoot>
这将工作,但只适用于较小的文档。如果你开始处理非常大的文件,你会遇到问题。一种可能的解决方案是创建一个新的Stream类型读取XML文件,并拒绝返回字符,直到它找到Feed中的第一个非空白字符。 – 2011-05-05 14:43:35
另一种选择是尝试将文档视为XML片段,XmlTextReader可能更宽容:http://msdn.microsoft.com/en-us/library/cakk7ha0。aspx – 2011-05-05 14:46:36
这只有在XML文件编码为UTF-8时才起作用,因为ReadToEnd在默认情况下以UTF-8读取。 – Daniel 2012-08-27 07:31:05