我是XML及其相关技术的新手。
这个CDATA标签总是在开头,然后是一些东西
我在我的XML文件中使用它:
<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>
我有以下问题。请帮帮我。
是什么
<![CDATA[some text]]]]>
手段?
答案 0 :(得分:8)
除非内容中包含“&
”和“<
”等特殊字符,否则字符串
<![CDATA[xxxxx]]>
表示与
完全相同xxxxx
不同之处在于,在第二种形式中,“&
”和“<
”具有特殊含义,而在CDATA形式中,唯一具有特殊含义的是字符串“{ {1}}“作为终结者。
更复杂的例子:
]]>
是一个噩梦,是一种草率的编程习惯导致CDATA部分中的文本被包含在懒惰中。 CDATA部分不能嵌套,因此第一个<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]>
终止第一个]]>
,这意味着该字符串等同于
<!CDATA[
您可能认为这反过来等同于
<![CDATA[TAX INVOICE]]>
但事实并非如此,因为XML解析器只会解释外部CDATA分隔符,因此它将传递给应用程序的内容
TAX INVOICE
答案 1 :(得分:4)
CDATA
这个词来自SGML
世界,它是XML
的复杂前身。该术语是Character Data
的缩写,表示数据包含字符,不应解析。 CDATA
中的标签,实体,属性和处理说明被视为文本,而不是XML
元素。