Câu hỏi đơn giản, tôi đang viết một tài liệu XML và tôi không chắc chắn cách viết "]]>" không có nó được xem là phần cuối của phần.Làm thế nào để tôi viết chữ "]]>" bên trong phần CDATA mà không cần nó kết thúc phần
Trả lời
Bạn có thể làm điều đó như thế này:
]]>]]><![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.
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 "]]>
" và bắt đầu một cái mới với "<![CDATA[
".
Bằng cách này, chuỗi "]]>]]><![CDATA[
" có tác dụng gần như là một lối thoát cho "`]]> "trong phần CDATA.
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
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
- 1. Làm cách nào để bao gồm phần CDATA trong ConfigurationElement?
- 2. Làm thế nào để viết 'nếu' mà không sử dụng 'rồi' hoặc 'kết thúc' trong Ruby
- 3. Làm thế nào để bạn tạo liên kết mailto: mà không cần phần (đến)
- 4. Làm thế nào tôi có thể kết thúc ncurses mà không kết thúc chương trình C++?
- 5. Làm thế nào để viết CData trong xml
- 6. Tôi có cần phải giết một sợi được viết như thế này không? Hay nó sẽ tự động kết thúc?
- 7. Làm thế nào để có được số dòng mà không cần đọc tập tin để kết thúc
- 8. jQuery: Khi tạo thành phần mới, tôi có cần thẻ kết thúc không?
- 9. Đọc phần CDATA XML với]] trong đó
- 10. Làm thế nào để hủy bỏ một dòng từ dịch vụ WCF mà không đọc nó để kết thúc?
- 11. Giải mã CDATA phần trong C#
- 12. Sử dụng thẻ <a> làm nút mà không cần theo liên kết của nó
- 13. Làm thế nào để chờ tất cả các goroutin kết thúc mà không cần sử dụng time.Sleep?
- 14. nohup trên windows, exec mà không cần đợi kết thúc
- 15. XML deserialization 'tiêu chuẩn hóa' kết thúc dòng, làm thế nào để ngăn chặn nó? (.NET)
- 16. Nhận phần tử mảng từ chỉ số để kết thúc
- 17. Làm thế nào để kết xuất phần trong các thành phần Swing
- 18. Tại sao lồng phần tử <svg> bên trong phần tử <svg> khác?
- 19. Làm thế nào để nói lxml.etree.tostring (phần tử) không viết các không gian tên trong python?
- 20. Nối phần tử không kết thúc, trước phần tử cuối cùng trong jQuery
- 21. Làm thế nào để tôi viết từng phần của Ruby trong Clojure?
- 22. Làm cách nào để định vị phần tử bên dưới phần tử vị trí tương đối mà không chồng chéo?
- 23. Làm thế nào để viết chuỗi ký tự trong python mà không cần phải thoát khỏi chúng?
- 24. Cách tốt nhất để xóa phần tử khỏi mảng mà không cần sắp xếp lại nó
- 25. Làm thế nào để viết mà không cần ký hiệu Đỗ
- 26. Serialize mảng mà không cần phần tử gốc
- 27. cách chọn phần tử KHÔNG có liên kết bên trong?
- 28. NSPredicate: làm thế nào để KHÔNG kết thúc?
- 29. Làm cách nào để tạo tệp SVG mà không có phần tử <title>?
- 30. Nhận phần url mà không cần máy chủ
Câu trả lời hay hơn IMHO so với bản sao :) –
Một từ: Yikes. –
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? –