`
javaEEdevelop
  • 浏览: 876178 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

XML CDATA(转载之笔记)

 
阅读更多

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

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

PCDATA

PCDATA 指的是被解析的字符数据(Parsed Character Data)。

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

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

<message>此文本也会被解析</message>

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

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

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

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

转义字符

非法的 XML 字符必须被替换为实体引用(entity reference)。

假如您在 XML 文档中放置了一个类似 "<" 字符,那么这个文档会产生一个错误,这是因为解析器会把它解释为新元素的开始。因此你不能这样写:

<message>if salary < 1000 then</message>

为了避免此类错误,需要把字符 "<" 替换为实体引用,就像这样:

<message>if salary &lt; 1000 then</message>

在 XML 中有 5 个预定义的实体引用:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; ' 省略号
&quot; " 引号

注释:严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

CDATA

术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。

在 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 部分结尾的 "]]>" 不能包含空格或折行。

分享到:
评论

相关推荐

    xml基础学习笔记

    XML 基础学习笔记 XML 文档基本结构: 1. 文档说明:一个完整的 XML 文档中必须包含一个文档说明,这个说明表示该文档是一个 XML 文挡,以及遵循那个 XML 版本的规范。最简单的文档说明如下:`&lt;?xml version=”1.0...

    xml的学习笔记

    ### XML学习笔记:深入理解DTD(Document Type Definition) 在探讨XML文档时,了解DTD(Document Type Definition)至关重要,它作为XML文档结构定义的一种标准方法,为文档提供了语法和结构的约束,确保了文档的...

    xml笔记 学过的xml笔记,很值得下载的

    ### XML基础知识概述 #### XML简介 XML(eXtensible Markup Language)是一种可扩展的标记语言,由W3C(World Wide Web Consortium)联盟发展和维护。作为一种元语言,XML可以用来定义其他标记语言,其核心特点在于...

    xml自学笔记.docx

    在处理特殊字符时,XML提供了实体替换和CDATA(Character Data)两种方式。实体替换适用于少量特殊字符,如`&amp;`用于转义`&`。当需要包含大量不可解析的文本时,可以使用CDATA区,如`&lt;![CDATA[文本内容]]&gt;`,这样...

    xml学习笔记.docx

    5. CDATA:CDATA区用于包含不能由XML解析器解析的特殊字符,如`&lt;![CDATA[这里可以包含特殊字符]]&gt;`。 6. 处理指令(Processing Instructions, PI):PI允许向XML处理器发送指令,格式为`&lt;?target data?&gt;`,如`&lt;?xml-...

    xml 学习笔记

    XML,全称为eXtensible Markup Language,是一种用于标记电子文件的、具有结构化的标记语言。它的主要目的是为了传输和存储数据,而不是用于显示数据,这与HTML的主要用途形成了鲜明对比。XML允许用户自定义标签,...

    xml学习笔记

    ### XML学习笔记知识点详解 #### 一、XML技术概述及应用场景 **XML技术的主要目标**:XML(Extensible Markup Language,可扩展标记语言)是一种旨在描述具有关联性的数据的标记语言。XML允许用户自定义标签,通过...

    XML笔记(个人总结)

    SGML(Standard Generalized Markup Language)是XML的基础标准之一,它是所有基于文本的标记语言的基础,包括HTML、XML等。 ### XML文档结构 #### 4. XML文档声明 XML文档通常以文档声明开头,指定XML版本和编码...

    1.XML.pdf,学习学习笔记

    - **CDATA区**:CDATA区段用于告诉XML解析器忽略其中的标记,直接将其内容视为字符数据。 ### XML的组成 - **元素**:XML的元素由开始标签、结束标签和位于两者之间的内容组成。 - **属性**:元素可以有属性,它们...

    xml笔记1

    XML(eXtensible Markup Language)是一种元标记语言,设计用于传输和存储数据,而非显示数据。它允许用户自定义标记,以适应各种不同的应用场景。XML 的主要特点是其结构化和灵活性,使得数据可以在不同的系统之间...

    XML笔记1

    解析XML文件,常见的方法之一是DOM(Document Object Model)解析。DOM将整个XML文件加载到内存中,形成一棵树形结构,允许开发者通过API遍历和修改XML文档。以下是一个简单的DOM解析XML文件的例子: ```java ...

    XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记

    ### XML基础及DOM 文档对象模式和SAX 基于事件处理模式 学习笔记 #### XML概述 XML(可扩展标记语言)是一种由W3C(万维网联盟)定义的标记语言,用于存储和传输数据。与HTML相比,XML更注重于数据的描述而非展示...

    day023-xml解析笔记和代码.rar

    1.XML 1.1. 概念:XML(eXtensible Markup Language),是一种可扩展的标记语言 1.2. 作用: XML是跨平台和跨语言的 不同的语言都支持XML解析(将XML转换为对应语言中的数据) 1. 数据交换格式(一般...

    二阶段笔记(html/css/js/jquery/xml/jsp/servelt/mvc).docx

    HTML/CSS/JS/JQuery/XML/JSP/Servlet/MVC 笔记 本文档主要介绍了 HTML、CSS、JS、JQuery、XML、JSP、Servlet 和 MVC 等前端和后端相关技术的笔记,涵盖了 HTML 基础标签、CSS 基础选择器、JS 基础语法、JQuery 选择...

    day01_xml,入门xml

    本文将深入探讨XML的基础知识,包括文档声明、元素、属性、注释、CDATA块以及处理指令。 1. **文档声明**:XML文档的开头通常包含一个文档声明,它告诉解析器这是一个XML文档,并指明所使用的XML版本和字符编码。...

    C#中基于流的XML文件操作笔记

    与之相对的,传统的DOM(Document Object Model)解析器需要加载整个文档到内存中,这在处理大型XML文件时会消耗大量的系统资源,可能会导致性能问题。 总体来说,C#中的XmlReader和XmlWriter类是处理基于流的XML...

    java笔记分享

    Java笔记分享主要涉及了XML(Extensible Markup Language)的基础知识,包括XML的概述、应用场景、基本语法、元素、属性、注释以及转义字符和CDATA段。以下是对这些知识点的详细说明: 1. **XML概述**: XML是一种...

    XML一些练习题

    XML 练习题解析 本资源提供了三个 XML 练习题,涵盖了 DTD、XSD 和 CSS 等知识点。 1. 编写一个有效的 XML 文件,约束该 XML 文件的 DTD 文件 在这个练习题中,我们需要编写一个有效的 XML 文件,约束该 XML 文件...

    dom4j 学习笔记

    **DOM4J学习笔记** DOM4J是一个强大的Java XML API,它提供了丰富的XML处理功能,包括文档构建、解析、修改和查询。作为一个开源项目,DOM4J在XML处理领域具有广泛的用户基础,因其简单易用和高效性能而备受青睐。...

Global site tag (gtag.js) - Google Analytics