XML中的特殊字符

前端之家收集整理的这篇文章主要介绍了XML中的特殊字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
摘要: XML文件又称可扩展标记语言,自然是由多个标签嵌套而成。既然是标签,那么就需要一些特殊的字符来标识.例如:<>左右尖括号. 另外也对xml中常引入properties文件作用做一说明。

XML是什么

XML指的是Extensible Markup Language,即可扩展标记语言。既然是语言,就有语法要求。很类似HTML(超文本标记语言),用来传输数据。当然XML和XSL结合也可以用来显示数据。XML不像HTML规定了标签名称,使用XML需要自定义标签

特殊字符

众所周知,在使用HTML的时候特殊字符是需要转义后才可以正常展示得。例如<用&lt;代替。同时XML作为标记语言也需要转义特殊字符如下表所示:
特殊符号 转义字符 描述
< &lt; 小于号,标签左尖括号
> &gt; 大于号,标签右尖括号
& &amp; 逻辑与
' &apos; 单引号
" &quot; 双引号
使用转义字符的目的便是为了正确的输出特殊字符。

为什么要处理特殊字符

前面简单介绍了XML以及特殊字符。那么可能有一个疑惑“为什么需要处理XML中的特殊字符”或者“不处理XML中的特殊字符又会怎样”。这时候我们不得不先去了解XML的工作原理,首先看下XML的解析过程如下图: 从以上解析过程中可以看出,直接与XML文档接触的是XML解析器。作为解析器自然要对XML文档的语法进行解析。若有特殊字符,在读取的过程中则会将原有的标签对进行截断,导致语法错误报错。

如何处理特殊字符

根据之前的描述特殊字符在xml文档中处理不当则会导致解析失败。那么如何处理特殊字符,下面根据实际情况给出几种方案:

简单而彻底的方案

直接在xml文档中使用转义字符转义特殊字符便可解决问题,这是最根本也是最简单的处理方式。

在xml中引入properties文件

为什么会把这种方式特别提出来呢?因为我们常常在项目中使用xml文件作为一些工具的配置文件,而配置信息为了安全期间常常设置为带有特殊字符的信息。 这个时候如果直接依然按照方案1直接在xml中使用特殊字符进行处理则会显得繁琐。也许大家在使用Spring的时候都会将数据源的配置信息单独提出来写在一个jdbc.properties文件里,那么为什么这样写呢? 个人认为这块之所以这么写,有下面几点好处:
  • 可以明了的标识配置信息的用途
  • 可以避免dom解析xml时因为特殊字符导致的解析错误发生
  • 在CI环境下配置多个环境,替换文件时可以避免转义字符书写的次数
例如:使用maven的profile时如果在pom里配置的时候就需要转义特殊字符,那么如果不使用properties文件,则意味着正确的带有特殊字符的信息替换到Spring配置文件中需要两次转义。未免过于繁杂,也易疏忽。

猜你在找的XML相关文章