这个问题在这里已有答案:
我是XML及其相关技术的新手 .
这个CDATA标签总是在开头,然后是一些东西
我在我的XML文件中使用它:
<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>
我有以下问题 . 请帮我 .
<![CDATA[some text]]]]> 的意思是什么?
<![CDATA[some text]]]]>
除非内容中有“ & " and " < ”等特殊字符,否则字符串
&
<
<![CDATA[xxxxx]]>
意思是完全一样的
xxxxx
不同之处在于,在第二种形式中,“ & " and " < " have a special meaning, while in the CDATA form, the only thing with a special meaning is the string " ]]> ”充当终结者 .
]]>
你更复杂的例子:
<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]>
是一个噩梦,并且是由于懒散的编程习惯在CDATA部分中包含文本而导致的懒惰 . CDATA部分不能嵌套,所以第一个 ]]> 终止第一个 <!CDATA[ ,这意味着该字符串相当于
<!CDATA[
<![CDATA[TAX INVOICE]]>
您可能认为这反过来相当于
TAX INVOICE
但事实并非如此,因为XML解析器只会解释外部CDATA分隔符,因此它将传递给应用程序的内容是
术语 CDATA 来自 SGML 世界,这是 XML 的复杂前身 . 该术语是 Character Data 的缩写,表示数据包含字符,不应解析 . CDATA 中的标签,实体,属性,处理指令被视为文本,而不是 XML 元素 .
CDATA
SGML
XML
Character Data
2 回答
除非内容中有“
&
" and "<
”等特殊字符,否则字符串意思是完全一样的
不同之处在于,在第二种形式中,“
&
" and "<
" have a special meaning, while in the CDATA form, the only thing with a special meaning is the string "]]>
”充当终结者 .你更复杂的例子:
是一个噩梦,并且是由于懒散的编程习惯在CDATA部分中包含文本而导致的懒惰 . CDATA部分不能嵌套,所以第一个
]]>
终止第一个<!CDATA[
,这意味着该字符串相当于您可能认为这反过来相当于
但事实并非如此,因为XML解析器只会解释外部CDATA分隔符,因此它将传递给应用程序的内容是
术语
CDATA
来自SGML
世界,这是XML
的复杂前身 . 该术语是Character Data
的缩写,表示数据包含字符,不应解析 .CDATA
中的标签,实体,属性,处理指令被视为文本,而不是XML
元素 .