This question already has answers here:
What does <![CDATA[]]> in XML mean?

(13 个回答)


7年前关闭。




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

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

我在我的 XML 文件中使用了它:
<text><![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]></text>

我有以下问题。请帮我。

做什么
<![CDATA[some text]]]]> 方法?

最佳答案

除非内容中有“&”、“<”等特殊字符,否则字符串

<![CDATA[xxxxx]]>

意思完全一样
xxxxx

不同的是,在第二种形式中,“& ”和“< ”具有特殊含义,而在CDATA形式中,唯一具有特殊含义的是作为终止符的字符串“]]> ”。

你更复杂的例子:
<![CDATA[<![CDATA[TAX INVOICE]]]]><![CDATA[>]]>

有点像一场噩梦,这是由于懒惰而将文本包装在 CDATA 部分中的草率编程习惯造成的。 CDATA 部分不能嵌套,因此第一个 ]]> 终止第一个 <!CDATA[ ,这意味着该字符串等效于
<![CDATA[TAX INVOICE]]>

你可能认为这反过来等价于
TAX INVOICE

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

关于xml - XML 中的 <![CDATA[<![CDATA[some text]]]]><![CDATA[>]]> 是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20966700/

10-15 06:44