我有一個應用程序(與許多其他應用程序一樣)需要用戶輸入,將其存儲在數據庫中,然後使用(其中包括)XML工具對其進行處理。應用程序接受自由文本輸入,與其他許多開發人員一樣,我非常小心地進行轉義和引用,以便處理包含不同類型的空白,引號字符,保留的XML字符等的輸入。處理垂直製表符和其他無效xml字符的最佳做法
但是,有時用戶會管理輸入一個包含垂直製表符(十六進制0B)或換頁符(十六進制0C)的字符串。這無法由XML工具處理,導致應用程序崩潰。
在我的應用程序中,在「往返」過程中保留原始輸入非常重要,所以我不願意刪除任何我不喜歡的字符,尤其是偶爾使用的換頁符在純文本文件中。
當涉及到XML處理時,是否有任何可接受的最佳實踐或處理這些字符的一般策略?
-1:這是沒有意義的。無效的XML不是XML。 –
然後這個問題沒有意義。如果要求在XML中放入特殊的無效字符(可能有多麼無效),轉義仍然允許處理文件,而使用無效字符的邊緣情況必須由應用程序自己處理。也可以使用CDATA或任何其他格式。 – Vincent
確實,這個問題沒有意義。另一種情況是開發人員被要求彌補發送數據的人員不理解XML的事實。 –