使用 XML CDATA 的要点是什么?

0 xml cdata

我正在阅读 XML 文件并遇到了这个<![CDATA[]]>

在什么样的情况下这会有用?

我理解它被用作;

XML 文档中的所有文本都将由解析器解析。

但是 CDATA 部分中的文本将被解析器忽略。

从这里。但是,它并没有详细说明它何时有用和/或其与 xml 文件/等的相关性。

这个 SO 问题询问它是什么意思,但同样,从我能看到的它做什么以及我何时应该使用它来看,没有太多细节- 这就是我现在问这个问题的原因。

(我不完全是专业人士,也不是专家 - 好吧,实际上更像是一个完整的白痴 - 即使阅读文档实际上也没有帮助,所以任何全面的答案都会很棒:P)

nos*_*nos 5

您可以使用它来避免 XML 转义特殊字符。

想象一下你有一个像

<data>...</data>

并希望在数据元素中放置以下文本:

 a < b
Run Code Online (Sandbox Code Playgroud)

像这样:

<data>a < b</data> 
Run Code Online (Sandbox Code Playgroud)

这是行不通的,因为 XML 将 < 识别为新标记的潜在开始。

您可以转义 < 字符:

<data>a &lt; b</data>
Run Code Online (Sandbox Code Playgroud)

或者您可以通过将数据放在 CDATA 部分来告诉 XML 解析器不要解析您的数据:

<data><![CDATA[a < b]]></data>
Run Code Online (Sandbox Code Playgroud)

(再说一次,使用 CDATA,您的文本不能包含]]>

另见这个问题