Most visited

Recently visited

Added in API level 1

CDATASection

public interface CDATASection
implements Text

org.w3c.dom.CDATASection


CDATA部分用于转义包含字符的文本块,否则这些字符将被视为标记。 在CDATA部分中唯一可识别的分隔符是“]]>”字符串,用于结束CDATA部分。 CDATA部分不能嵌套。 它们的主要目的是包含诸如XML片段之类的材料,而无需转义所有的分隔符。

CharacterData.data属性保存CDATA节包含的文本。 请注意,这可能包含需要在CDATA部分之外转义的字符,并且根据为序列化选择的字符编码(“字符集”),可能无法将某些字符写入CDATA部分。

CharacterData接口通过CDATASection接口继承Text接口。 相邻的CDATASection节点不通过使用Node接口的normalize方法合并。

没有对CDATA部分的内容进行词法检查,因此可能在内容中包含字符序列"]]>" ,该部分在[ XML 1.0 ]的2.7节的CDATA部分中是非法的。 在序列化期间,此字符序列的存在必须产生致命错误,或者在序列化之前必须拆分cdata部分(另请参阅DOMConfiguration界面中的参数"split-cdata-sections" )。

注意:由于在CDATASection内没有标识,所以在序列化时字符数字引用不能用作转义机制。 因此,在使用字符编码序列化CDATASection时,需要采取措施,其中某些包含的字符无法表示。 不这样做不会产生格式良好的XML。

注意:序列化过程中的一个潜在解决方案是在字符前面结束CDATA部分,使用字符引用或实体引用输出字符,并为文本节点中的任何其他字符打开新的CDATA部分。 但是,请注意,在编写本文时,某些代码转换库在编码中缺少字符时不会返回错误或异常,从而确保数据在序列化过程中不会损坏。

另见 Document Object Model (DOM) Level 3 Core Specification

Summary

Inherited constants

From interface org.w3c.dom.Node

Inherited methods

From interface org.w3c.dom.Text
From interface org.w3c.dom.CharacterData
From interface org.w3c.dom.Node

Hooray!