我需要從文件中加載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