我的應用程序從外部試圖XML保存到磁盤(當它進入XmlWriter
)爲什麼.NET XML API不能保護我不受空字符的影響?
System.ArgumentException : '.', hexadecimal value 0x00, is an invalid character.
時收到字符串和構建XML文檔
string fromOutside = "\0";
XAttribute a = new XAttribute(fromOutside);
當屬性值包含空字符,然後我得到異常
即使SecurityElement
類不利於
Assert.IsFalse(SecurityElement.IsValidAttributeValue("\0"));
什麼是最好的從字符串構造XML文檔的方式,可能包含像空字符等無效字符?
所以在我的情況下,唯一的辦法就是分析字符串並刪除空人物,不是嗎? :-( –
不,你也可以Base64編碼字符串:'Convert.ToBase64String(Encoding.UTF8.GetBytes(fromOutside))' –
Base64對我來說不是一個選項,因爲我必須保持字符串在結果中可讀XML 。字符串的例子可以是「\ 0My \ 0 fancy val \ 0ue \ 0 \ 0 \ 0」。 –