XML 教程
1. XML 教程 2. XML 简介 – 什么是 XML? 3. XML 用途 4. XML 树结构 5. XML 语法 6. XML 元素 7. XML 属性 8. XML DTD 9. XML 验证器 10. 查看 XML 文件 11. XML 和 CSS 12. XML 和 XSLT 13. XMLHttpRequest 对象 14. XML 解析器 15. XML DOM 16. 在 HTML 页面中显示 XML 数据 17. XML 应用程序 18. XML 命名空间 19. XML CDATA 20. XML 编码 21. 服务器上的 XML 22. XML DOM 高级 23. XML 注意事项 24. XML 技术 25. 现实生活中的 XML 26. XML 编辑器 27. XML E4X 28. XML 总结 29. XML 实例

XML CDATA

XML CDATA


XML 文档中的所有文本均会被解析器解析。

只有 CDATA 区段中的文本会被解析器忽略。


PCDATA - 被解析的字符数据

XML 解析器通常会解析 XML 文档中所有的文本。

当某个 XML 元素被解析时,其标签之间的文本也会被解析:

<message>This text is also parsed</message>

解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个实例中,其中的 <name> 元素包含着另外的两个元素(first 和 last):

<name><first>Bill</first><last>Gates</last></name>

而解析器会把它分解为像这样的子元素:

<name>
<first>Bill</first>
<last>Gates</last>
</name>

解析字符数据(PCDATA)是 XML 解析器解析的文本数据使用的一个术语。


CDATA - (未解析)字符数据

术语 CDATA 是不应该由 XML 解析器解析的文本数据。

像 "<" 和 "&" 字符在 XML 元素中都是非法的。

"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。

"&" 会产生错误,因为解析器会把该字符解释为字符实体的开始。

某些文本,比如 JavaScript 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。

CDATA 部分中的所有内容都会被解析器忽略。

CDATA 部分由 "<![CDATA[" 开始,由 "]]>" 结束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
{
return 1;
}
else
{
return 0;
}
}
]]>
</script>

在上面的实例中,解析器会忽略 CDATA 部分中的所有内容。

关于 CDATA 部分的注释:

CDATA 部分不能包含字符串 "]]>"。也不允许嵌套的 CDATA 部分。

标记 CDATA 部分结尾的 "]]>" 不能包含空格或换行。