问题不在于转义——很容易用代替或者使用CDATA节——问题在于编码。
这对于大多数的当前浏览器来说,可能都有问题,因为它们不喜欢CDATA块。
循环中首先选择标记名为content的所有子元素,然后从发现的节点中获得CDATA文本。
除了一般的文本数据,XML过去常用于存储二进制数据,通过一个称为CDATA的特殊标记集合实现。
CDATA(字符数据)区域被解析器视为数据块,从而允许您在数据流中包含任意字符。
更好的解决方案可能是将数据直接放到您的XML文档中,那就是XML的CDATA区域发挥作用的时候了。
CDATA节常用于脚本语言内容和示例XML和HTML内容。
剖析器不会解析CDATA文本。文本中的标签不会作为标示字体,实体也将不会得到扩展。
如果您需要将区域结束标记放到CDATA区域中,那么该怎么办呢?
除了该限制之外,任何合法的XML字符均可以出现在注释中,与CDATA节非常类似。
JAXB还以和预期稍有不同的方式处理CDATA节,但确实保持了语义等价。
所以您或者需要以XML支持的编码对它们进行转换,或者需要将一大段的文本、代码或其他内容放到CDATA块中。
避免使用跨距标记、代码字体标记和font类。
我们可以方便地将文本规范嵌入到VXML文档中,方法是使用一个CDATA块。
我还将钻研像空格、CDATA节以及许多其他问题的处理。
该元素可包含文本、空白、有效空白、CDATA节、注释和处理指令。
CDATA节用于转义否则将被识别为标记的文本块。
CDATA节用于为文本块添加引号或转义符,以防止文本被解释为标记语言。
一次读-写循环会丢失前置和后置的空白符、低级的格式化信息,以及普通数据与CDATA节点间的差异。
将文本、CDATA、空白和有效空白节点的串联内容转换为所请求的类型。
即使这样改进之后,代码还是会在注释、处理指令和CDATA节上出错。
无CDATA;type属性必须为“yes”或“no”以允许或禁用前导零。
属性值中允许包含实体引用和字符引用,但是不允许包含CDATA节。
还要注意,原始XML文档中的CDATA节被去掉了。
当在CDATA节、注释或处理指令内编写内容时,
您不能将任何数据随意地塞到一个CDATA区域中同时还拥有一个有效的文档。