我有一個網頁接受來自用戶的HTML輸入。輸入是使用命名空間System.Xml
轉換成XML文檔,例如:從Word粘貼+創建XML文檔 - >十六進制值0x0C,是一個無效字符(.Net)
var doc = new XmlDocument();
doc.AppendChild(doc.CreateElement("root"));
doc.DocumentElement.SetAttribute("BodyHTML", theTextBox.Text);
之後XSL轉換(System.Xml.Xsl.XslCompiledTransform
)對數據使用。
用戶傾向於使用項目符號,引號等方式在Microsoft Word中編寫文本。粘貼到我的頁面時,它們的文本包含無效字符,例如0x0C,0x03等。當使用xsl轉換時,會發生此錯誤「十六進制值0x0C,是一個無效字符。」
我修復迄今已消除,我已經發現有攻擊性,使用循環和String.Replace
人物: 所有字符從0到31,除了9,10和13帶有String.Empty
取代。
我在找什麼是一個更好的方法來做到這一點。內置的.Net方法?或者也許只是非法unicode字符的完整列表。