2009-02-11 22 views

Trả lời

19

Bạn có thể làm điều đó như thế này:

]]>]]&gt;<![CDATA[ 

này kết thúc lên phá vỡ phần CDATA trong hai phần, nhưng đó là những gì bạn phải làm.

+0

Câu trả lời hay hơn IMHO so với bản sao :) –

+1

Một từ: Yikes. –

+1

Paolo: nghĩ về nó theo cách đó: CDATA là một khu vực mà bạn không phải (và trên thực tế không thể) thoát * bất cứ thứ gì *. Làm thế nào bạn sẽ đánh dấu sự kết thúc của một khu vực như vậy? –

5

Bạn không thể. CDATA không cung cấp bất kỳ cách nào để thoát khỏi các ký tự, vì vậy các ký tự đó sẽ luôn đại diện cho phần cuối của phần CDATA. Tuy nhiên, bạn có thể cho phép họ kết thúc phần CDATA, thêm "]]&gt;" và bắt đầu một cái mới với "<![CDATA[".

Bằng cách này, chuỗi "]]>]]&gt;<![CDATA[" có tác dụng gần như là một lối thoát cho "`]]> "trong phần CDATA.

9

Tôi nghĩ

<![CDATA[]]]]><![CDATA[>]]> 

là con đường để đi.

Đó là:

  • một phần CDATA chứa chuỗi literal ]] (<![CDATA[]]]]>)
  • một phần CDATA chứa chuỗi literal > (<![CDATA[>]]>)

Trong thực tế, có lẽ sẽ phải nhắn tin trước số ]] đầu tiên và/hoặc sau >

Xem thêm tại http://en.wikipedia.org/wiki/CDATA#Uses_of_CDATA_sections

+4

Tôi không biết đây có phải là câu trả lời đúng hay không, nhưng nếu vậy thì đó là câu trả lời đúng nhất. (Không có ý định vi phạm ... Tôi đang bình luận về sự sai lầm của hệ thống, chứ không phải là câu trả lời của bạn.) – Beska

Các vấn đề liên quan