`

xml文档中的<![CDATA[]]>和转义字符

 
阅读更多

 

<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。 
  此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<””>””&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”&lt;””&gt;””&amp;”,这样才能保存进xml文档。 
  在使用程序读取的时候,解析器会自动将这些实体转换回”<””>””&”。举个例子: 
  <age> age < 30 </age> 
  上面这种写法会报错,应该这样写: 
  <age> age &lt; 30 </age> 
  值得注意的是: 
  (1)转义序列字符之间不能有空格; 
  (2) 转义序列必须以”;”结束; 
  (3) 单独出现的”&”不会被认为是转义的开始; 
  (4) 区分大小写。 
   
  在XML中,需要转义的字符有: 
  (1)&   &amp; 
  (2)<   &lt; 
  (3)>   &gt; 
  (4)"   &quot; 
  (5)'   &apos; 
  但是严格来说,在XML中只有”<”和”&”是非法的,其它三个都是可以合法存在的,但是,把它们都进行转义是一个好的习惯。 
  不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,为了方便起见,使用<![CDATA[]]>来包含不被xml解析器解析的内容。但要注意的是: 
  (1) 此部分不能再包含”]]>”; 
  (2) 不允许嵌套使用; 
  (3)”]]>”这部分不能包含空格或者换行。 
  最后,说说<![CDATA[]]>和xml转移字符的关系,它们两个看起来是不是感觉功能重复了? 
  是的,它们的功能就是一样的,只是应用场景和需求有些不同: 
  (1)<![CDATA[]]>不能适用所有情况,转义字符可以; 
  (2) 对于短字符串<![CDATA[]]>写起来啰嗦,对于长字符串转义字符写起来可读性差; 
  (3) <![CDATA[]]>表示xml解析器忽略解析,所以更快。

分享到:
评论

相关推荐

    JAVA对象转换成XML(CDATA)

    当遇到包含特殊字符如 "&lt;" 和 "&" 的文本时,XML解析器可能会产生错误,因为这些字符在XML语法中有特定含义。为了解决这个问题,我们可以使用CDATA(Character Data)段来封装这些文本,使得XML解析器将其视为纯文本...

    xml教程<<无废话xml>>

    [CDATA[...]]&gt;`可以避免转义字符的使用,方便包含大量特殊字符的数据的处理。 #### 5. 注释 - XML支持注释,格式为`&lt;!-- 这是一个注释 --&gt;`。 ### XML的应用 #### 1. 数据交换 - XML因其标准化和可扩展性,广泛...

    Mybatis 中的&amp;lt;![CDATA[ ]]&amp;gt;浅析

    [CDATA[ ]]&gt; 可以将特殊字符(如 `&lt;`、`&gt;`、`&` 等)包含在 XML 文件中,使得这些特殊字符不被解析器转义。 2. 提高代码可读性:使用 &lt;![CDATA[ ]]&gt; 可以将复杂的 SQL 语句包含在 XML 文件中,使得代码更加简洁和易...

    5、CDATA 和转义字符1

    在XML文档中,为了保证文档的结构正确性和语义清晰性,有一些特殊的字符需要进行特殊处理,例如"&lt;"、"&gt;"、"&"等。这是因为这些字符在XML语法中具有特定含义,例如"&lt;"用于标记元素的开始,"&"用于定义实体引用。如果...

    Mybatis在Mapper.xml文件中的转义字符处理方式.pdf

    然而,在XML中直接使用一些特殊字符,比如大于(&gt;)、小于(&lt;)、等于(=)、单引号(')和双引号(")等,可能会导致XML解析错误,因为这些字符在XML文档中有特定的含义。为了解决这个问题,Mybatis提供了一些处理...

    XML 技术概述文档

    XML 文档中的文本信息不能包含特殊字符,如 `&lt;`,若需使用,可以使用 CDATA 部分包裹。例如: ```xml &lt;![CDATA[This is some arbitrary text &lt;within&gt; a CDATA!]]&gt; ``` 元素可以有属性,属性用来提供额外的信息。...

    XML:标签CDATA用法

    2. **包含脚本或样式代码**:当需要在XML文档中嵌入JavaScript代码或CSS样式时,由于这些代码可能包含大量的`&lt;`或`&`等字符,因此使用CDATA可以避免解析错误。 ##### 示例1:使用CDATA避免特殊字符问题 假设我们有...

    XML笔记(个人总结)

    在XML中,某些字符需要转义,以防止它们被解析器误认为是标记的一部分。 - `&lt;` 转义为 `&lt;` - `&gt;` 转义为 `&gt;` - `&` 转义为 `&amp;` - `"` 转义为 `&quot;` - `'` 转义为 `&apos;` #### 7. 属性 XML元素可以...

    XML应用开发(软件品牌)-1期 第1单元 单元测试卷-创建XML文档.doc

    4. CDATA(字符数据)部分中的内容不会被解析器解析,允许包含特殊字符而不需转义。 5. 如果元素不包含子元素并且只有一个标记,可以使用自闭合语法,如`&lt;beauty/&gt;`。 **选择题知识点** 1. XML标签名称不能以数字...

    区分CDATA和PCDATA

    在这个例子中,“&lt;”和“&gt;”字符在CDATA区段内保持原样,不会被解析器误解为开始或结束标签。这使得可以在XML文档中安全地嵌入代码或其他含有特殊字符的文本。 ### PCDATA PCDATA是Parsed Character Data的缩写,...

    XML...枚举。。。注解

    在XML文件中,可以添加注释,特殊字符如 `&lt;`、`&gt;`、`&` 需要转义。同时,可以使用CDATA区(Character Data)来包裹不受解析的文本内容,如`&lt;![CDATA[ ...内容... ]]&gt;`。 XML解析是将XML文件中的数据提取出来的重要...

    XML文法分析

    2. 保留字符:XML有三个保留标记字符:&lt;、&gt;和&。它们不能直接出现在元素名、元素文本、属性名或属性值中。如果需要使用,需要使用转义序列,如`&lt;`表示 `&lt;`,`&gt;`表示 `&gt;`,`&amp;`表示 `&`,`&apos;`表示 `'`,...

    解析XML特殊字符方法

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在互联网上,尤其是在数据交换、配置文件和文档存储等领域。在XML文档中,有些字符是具有特殊含义的,例如 `&lt;`、`&gt;` 和 `&` 等,它们分别用于...

    XML学习文档详解

    - **转义字符**:XML支持HTML中的转义符,同时也可以使用`&lt;![CDATA[...]]&gt;`来处理大量需要转义的文本。 **示例**: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;books&gt; &lt;book ISBN="5197-5742-5657"&gt; &lt;name...

    用System.Xml 读写XML

    - `CDATA`:表示字符数据,用于包含特殊字符而无需转义,如`&lt;![CDATA[myescapedtext]]&gt;`。 - `Comment`:XML注释,如`&lt;!--mycomment--&gt;`。 - `Document`:代表整个XML文档。 - `DocumentFragment`:文档的一部分。 -...

    XML应用开发(软件品牌)-1期 1.4 案例分析-XML文档中使 用字符数据段.doc

    总结来说,XML文档中的字符数据段(CDATA)提供了一种机制,使得开发者可以安全地在XML文档中包含可能包含XML解析器敏感字符的文本。这对于处理数学公式、HTML代码片段以及其他特殊格式的数据尤其有用。了解和正确...

    XML应用开发(软件品牌)-1期 1.4 课堂实践-XML文档中使用字符数据段.doc

    字符数据段CDATA的定义是XML文档中的一段文本,解析器会将这部分内容视为纯文本,不会尝试解析其中的特殊字符,如小于号 `&lt;`、大于号 `&gt;` 和与号 `&` 等。这在处理包含HTML标签、JavaScript代码或者特殊字符的数据时...

Global site tag (gtag.js) - Google Analytics