我正在阅读 XML 文件并遇到了这个<![CDATA[]]>。
在什么样的情况下这会有用?
我理解它被用作;
XML 文档中的所有文本都将由解析器解析。
但是 CDATA 部分中的文本将被解析器忽略。
从这里。但是,它并没有详细说明它何时有用和/或其与 xml 文件/等的相关性。
这个 SO 问题询问它是什么意思,但同样,从我能看到的它做什么以及我何时应该使用它来看,并没有太多细节- 这就是我现在问这个问题的原因。
(我不完全是专业人士,也不是专家 - 好吧,实际上更像是一个完整的白痴 - 即使阅读文档实际上也没有帮助,所以任何全面的答案都会很棒:P)
您可以使用它来避免 XML 转义特殊字符。
想象一下你有一个像
<data>...</data>
并希望在数据元素中放置以下文本:
a < b
Run Code Online (Sandbox Code Playgroud)
像这样:
<data>a < b</data>
Run Code Online (Sandbox Code Playgroud)
这是行不通的,因为 XML 将 < 识别为新标记的潜在开始。
您可以转义 < 字符:
<data>a < b</data>
Run Code Online (Sandbox Code Playgroud)
或者您可以通过将数据放在 CDATA 部分来告诉 XML 解析器不要解析您的数据:
<data><![CDATA[a < b]]></data>
Run Code Online (Sandbox Code Playgroud)
(再说一次,使用 CDATA,您的文本不能包含]]>)
另见这个问题