問題
在我的多行字符串文字xml的開頭應該忽略空格嗎?IgnoreWhiteSpace不忽略xml開始處的空白字符串
代碼
string XML = @"
<?xml version=""1.0"" encoding=""utf-8"" ?>"
using (StringReader stringReader = new StringReader(XML))
using (XmlReader xmlReader = XmlReader.Create(stringReader,
new XmlReaderSettings() { IgnoreWhitespace = true }))
{
xmlReader.MoveToContent();
// further implementation withheld
}
在上面的代碼中有XML聲明前的空白的通知,這似乎並不儘管我的IgnoreWhiteSpace
屬性的設置將被忽略。我哪裏錯了?
注意:如果XML字符串沒有換行符,並且只是一個空白符,則具有相同的行爲,如下所示。我知道這將運行,如果我刪除空白,我的問題是爲什麼財產不照顧這個?
string XML = @" <?xml version=""1.0"" encoding=""utf-8"" ?>"
做到這一點使用(StringReader stringReader =新StringReader(XML.Trim())),以除去白色空格 – rashfmnb
的[ignoreWhitespace屬性(https://msdn.microsoft.com/en-us/library/ system.xml.xmlreadersettings.ignorewhitespace(v = vs.110).aspx)設置不會影響混合內容模式下標記之間的空白或xml:space ='preserve'屬性範圍內出現的空白空間。 – RamblinRose
@RamblinRose謝謝,我在MSDN上看到了。什麼是「混合內容模式」? –