- 所有超级接口:
-
CharacterData
,Node
,Text
CDATA部分用于转义包含否则将被视为标记的字符的文本块。在CDATA部分中唯一被识别的分隔符是结束CDATA部分的“]]>”字符串。CDATA部分不能被嵌套。它们的主要目的是包含诸如XML片段之类的材料,而无需转义所有分隔符。
CharacterData.data
属性保存由CDATA部分包含的文本。请注意,这个文本可能包含需要在CDATA部分之外转义的字符,并且根据选择的用于序列化的字符编码(“charset”),可能无法将某些字符作为CDATA部分的一部分写出。
CDATASection
接口通过Text
接口从CharacterData
接口继承。相邻的CDATASection
节点不会通过Node
接口的normalize
方法合并。
对CDATA部分的内容不进行词法检查,因此在内容中可能存在字符序列"]]>"
,这在CDATA部分中是非法的,根据[XML 1.0]第2.7节。在序列化过程中,这个字符序列的存在必须生成致命错误,或者在序列化之前必须拆分cdata部分(还请参阅DOMConfiguration
接口中的"split-cdata-sections"
参数)。
注意: 因为在CDATASection
中不识别任何标记,所以在序列化时不能使用字符数值引用作为转义机制。因此,在使用某些字符编码时,需要在序列化CDATASection
时采取行动,其中一些包含的字符无法表示。如果不这样做,将无法生成格式良好的XML。
注意: 在序列化过程中的一个潜在解决方案是在字符之前结束CDATA部分,使用字符引用或实体引用输出字符,并为文本节点中的任何进一步字符打开一个新的CDATA部分。但请注意,一些代码转换库在撰写时并不在字符缺失时返回错误或异常,这使得在序列化过程中确保数据不被损坏的任务更加困难。
-
Field Summary
Fields declared in interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
-
Method Summary
Methods declared in interface org.w3c.dom.CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
Methods declared in interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
Methods declared in interface org.w3c.dom.Text
getWholeText, isElementContentWhitespace, replaceWholeText, splitText