我有一個XML流,其中包含特殊字符,如'存儲在一個CString對象。除了替換流中的單個字符以轉換這些特殊字符之外,是否還有其他方法?轉換XML流中的特定字符
0
A
回答
0
我坦率地沒有看到另一個選項。
0
如果可以,請在編寫器中安裝過濾器。這使您可以通過字符寫入流char,並在遇到它們時替換特殊字符(從而不必分配第二個字符串對象)。
嘗試儘可能多地輸出儘可能多的字符串,因爲在循環中爲每個字符調用write()代價很高。相反,使用此僞代碼:
int start = 0;
for (int i=0; i<str.length(); i++) {
char c = str.getChar(i);
String emit = null;
switch (c) {
case '<': emit = "<"; break;
case '>': emit = ">"; break;
case '\'': emit = "'"; break;
case '"': emit = """; break;
}
if (emit != null) {
write(str,start,i);
start = i;
write(emit);
}
}
if (start != str.length()) {
write(str);
}
在通常情況下,循環會遍歷字符串一次(這是快),一旦調用write()。
如果您無法在編寫器中安裝過濾器,則可以使用相同的代碼來過濾字符串。在常見情況下,您只需返回輸入字符串。在if (emit != null)
中,您可以分配一個新副本。但是,因爲這隻會在字符串中有特殊字符時纔會發生,這比爲每個字符串創建一個副本要便宜得多。
3
需要轉義字符只有「<> &。
但我會建議使用標準XML庫。 這不僅將採取逃避的照顧,但很多其他問題(編碼,實體,驗證等)
相關問題
- 1. 將XML中的特定變量轉換爲字符串C#
- 2. 轉義字符XML轉換
- 3. 將XML中的特殊字符轉換爲C#中的UTF-8
- 4. 將字符串轉換爲java中的XML輸入流
- 5. xml中的Javascript轉義特殊字符
- 6. XML轉義特殊字符
- 7. 轉換字符串到流
- 8. 轉換特定字符轉換成法文字母
- 9. 如何將特殊字符轉換爲xml中的html數據?
- 10. 如何從HTML中的XML文檔轉換html特殊字符
- 11. 如何讓特殊的XML字符在flex中未轉換?
- 12. 將drawable轉換爲特定字符串
- 13. 將特定字符轉換爲int
- 14. NSDictionary到XML中的字符串轉換
- 15. 將字符串中特定字符轉換爲大寫
- 16. 字符串到Xml轉換
- 17. 轉換XML字符串
- 18. Telnet流的字節到字符轉換
- 19. 在AJAX中轉義XML特殊字符
- 20. 如何將特定字符串轉換爲特定的int
- 21. 特殊字符在將數據轉換爲xml時被替換
- 22. VBScript中創建,轉換XML特殊字符
- 23. 將特定的字符數組範圍轉換爲字符串
- 24. PHP:特殊字符轉換
- 25. html2text:轉換特殊字符
- 26. iOS特殊字符轉換
- 27. Unicode特殊字符轉換
- 28. JSON特殊字符轉換
- 29. xmltextwriter轉換特殊字符
- 30. 使用XSLT將XML轉換爲XML並刪除特定元素的換行符
轉換爲什麼? – 2009-02-11 07:44:10
例如撇號需要轉換爲' – Naveen 2009-02-11 07:45:51