首页 文章

XML中的<![CDATA [<![CDATA [some text]]]]> <![CDATA [>]]>是什么意思? [重复]

提问于
浏览
3

这个问题在这里已有答案:

我是XML及其相关技术的新手 .

这个CDATA标签总是在开头,然后是一些东西

我在我的XML文件中使用它:

<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>

我有以下问题 . 请帮我 .

<![CDATA[some text]]]]> 的意思是什么?

2 回答

  • 8

    除非内容中有“ & " 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[TAX INVOICE]]>
    

    您可能认为这反过来相当于

    TAX INVOICE
    

    但事实并非如此,因为XML解析器只会解释外部CDATA分隔符,因此它将传递给应用程序的内容是

    <![CDATA[TAX INVOICE]]>
    
  • 4

    术语 CDATA 来自 SGML 世界,这是 XML 的复杂前身 . 该术语是 Character Data 的缩写,表示数据包含字符,不应解析 . CDATA 中的标签,实体,属性,处理指令被视为文本,而不是 XML 元素 .

相关问题