如果我構建一些XML並使用<![CDATA[...]]>
,如何編碼可能包含]]>
子串的數據?它會是]]>
?我問,因爲我一直認爲CDATA內容是文字內容。encode]]>在cdata中
2
A
回答
8
這不是非常有效的,或易於閱讀,或任何東西,但an approach to this似乎寫..
]]]]><![CDATA[>
-2
不該實體合作?
是這樣的:& 93; & 93; >
,或者只是其中之一:] >
93是latin1的,你如果UTF-8發送數據,需要統一的實體。
作爲一個旁註,還有其他字符在CDATA塊中也是不允許的,以及一些奇怪的引用和控制流字符。
-1
從某種意義上說,CDATA是文字內容,但當然必須有某種方法來標記CDATA塊的結尾,而且您選擇的任何內容都必須以某種方式在您的字符串中表示。
當我不得不處理另一個CDATA區塊中包含CDATA的XML文檔時,您似乎必須這樣做,於是我放棄並將整個代碼編碼爲Base64。另一方然後提取文本並對其進行解碼。
Base64非常方便,因爲它具有常見的支持和/或簡單的算法,可以在許多語言中對ASCII字符串進行編碼和解碼,在我的情況下,在ASP.NET應用程序中使用C#和Javascript。
2
你可以只使用兩個CDATA標籤,第一個包含]和第二個包含>
重複http://stackoverflow.com/questions/538163/how-do-i-write-the-字面內-A-CDATA段與-IT-結束,該節 – tehvan 2009-02-12 06:48:35