2015-09-05 56 views

回答

-1

CDATA中包含的信息提供了一种方法来告诉解析器在CDATA部分包含的字符中没有标记。

入住这里这些引用:

+1

不,解析器不会忽略CDATA中的信息。 –

+0

好的,对。我立场纠正,这是一个领导:) – Rohit416

1

CDATA实际上在XML中有两个含义,它们只是通过SGML中的一些不起眼的共同祖先相互连接。

它是您可以在DTD中声明的属性类型之一 - 但如果您是使用DTD的人,那么您可能不会问这个问题。

更常见的是,这是标记,可以发生在文档的主体。

<a>Some <![CDATA[cdata text]]></a> 

这是最好的认为这是转义特殊字符的另一种方式。如果没有任何特殊字符,如在这个例子中,那么它等同于

<a>Some cdata text</a> 

但有特殊字符:

<a>Some <![CDATA[cdata text & ampersands]]></a> 

这相当于

<a>Some cdata text &amp; ampersands</a> 

应用都应该将这两个视为等价的,但有些API允许应用程序查看差异,因此您会发现一些编写得很糟糕的应用程序可以使用一种形式而不是另一种形式。