public interface CDATASection extends Text
CharacterData.data
属性保存由CDATA部分包含的文本。 请注意,这可能包含需要在CDATA部分之外转义的字符,并且根据为序列化选择的字符编码(“charset”),可能无法将一些字符作为CDATA部分的一部分。
CharacterData
接口通过CDATASection
接口继承自Text
接口。 相邻CDATASection
节点不被使用的合并normalize
的方法Node
接口。
没有对CDATA部分的内容进行词法检查,因此可以将字符序列"]]>"
在[ XML 1.0 ]的第2.7节的CDATA部分中是非法的。 在串行化期间,此字符序列的存在必须产生致命错误,或者在序列化之前必须拆分cdata部分(参见DOMConfiguration "split-cdata-sections"
中的DOMConfiguration
"split-cdata-sections")。
注意:由于在CDATASection
中未识别出任何标记,因此当CDATASection
时,字符数字引用不能用作转义机制。 因此,当使用字符编码CDATASection
时,需要采取措施,其中一些包含的字符不能被表示。 否则不会产生格式良好的XML。
注意:串行化过程中的一个潜在解决方案是在字符之前结束CDATA部分,使用字符引用或实体引用输出字符,并为文本节点中的任何其他字符打开一个新的CDATA部分。 但是请注意,在编写时,某些代码转换库在编码中缺少字符时不会返回错误或异常,从而确保数据在序列化时不会损坏的任务更加困难。
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
getWholeText, isElementContentWhitespace, replaceWholeText, splitText
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
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