我想知道是否有任何方法可以]]>
在xml文档的CDATA节中转义CDATA结束标记()。或者,更一般而言,如果在CDATA中有一些转义序列可供使用(但是,如果存在,我想无论如何,转义开始或结束令牌可能才有意义)。
基本上,您可以在CDATA中嵌入一个开始或结束令牌,并告诉解析器不要解释它,而是将其视为另一个字符序列。
可能的话,如果您发现要尝试做的话,应该重构您的xml结构或代码,但是即使在过去三年左右的时间里我每天都在使用xml,但我从未遇到过这个问题,我想知道是否有可能。只是出于好奇。
编辑:
除了使用html编码...
CDATA
旨在允许任何操作:它们用于转义包含字符的文本块,否则这些字符将被视为标记,这也暗示着,CDATA
因为它也是标记。但是,实际上,您不需要我暗示的双重编码。]]>
是CDEnd
在内对a 进行编码的可接受方法CDATA
。
>
为>
CData,以确保]]>
不会将嵌入式解析为CDEnd。它只是意味着它是意外的,因此也&
必须首先进行编码,&
以便可以正确解码数据。文档的用户也必须知道如何解码此CData。这并不是闻所未闻的,因为CData的部分目的是包含特定用户理解如何处理的内容。不能期望任何通用使用者都能正确解释这样的CData。