摘要: XML文件又称可扩展标记语言,自然是由多个标签嵌套而成。既然是标签,那么就需要一些特殊的字符来标识.例如:<>左右尖括号. 另外也对xml中常引入properties文件作用做一说明。
XML是什么
XML指的是Extensible Markup Language,即可扩展标记语言。既然是语言,就有语法要求。很类似HTML(超文本标记语言),用来传输数据。当然XML和XSL结合也可以用来显示数据。XML不像HTML规定了标签的名称,使用XML需要自定义标签。特殊字符
众所周知,在使用HTML的时候特殊字符是需要转义后才可以正常展示得。例如<用<代替。同时XML作为标记语言也需要转义特殊字符如下表所示:特殊符号 | 转义字符 | 描述 |
< | < | 小于号,标签左尖括号 |
> | > | 大于号,标签右尖括号 |
& | & | 逻辑与 |
' | ' | 单引号 |
" | " | 双引号 |
为什么要处理特殊字符
前面简单介绍了XML以及特殊字符。那么可能有一个疑惑“为什么需要处理XML中的特殊字符”或者“不处理XML中的特殊字符又会怎样”。这时候我们不得不先去了解XML的工作原理,首先看下XML的解析过程如下图: 从以上解析过程中可以看出,直接与XML文档接触的是XML解析器。作为解析器自然要对XML文档的语法进行解析。若有特殊字符,在读取的过程中则会将原有的标签对进行截断,导致语法错误报错。如何处理特殊字符
根据之前的描述特殊字符在xml文档中处理不当则会导致解析失败。那么如何处理特殊字符,下面根据实际情况给出几种方案:简单而彻底的方案
直接在xml文档中使用转义字符转义特殊字符便可解决问题,这是最根本也是最简单的处理方式。在xml中引入properties文件
为什么会把这种方式特别提出来呢?因为我们常常在项目中使用xml文件作为一些工具的配置文件,而配置信息为了安全期间常常设置为带有特殊字符的信息。 这个时候如果直接依然按照方案1直接在xml中使用特殊字符进行处理则会显得繁琐。也许大家在使用Spring的时候都会将数据源的配置信息单独提出来写在一个jdbc.properties文件里,那么为什么这样写呢? 个人认为这块之所以这么写,有下面几点好处:- 可以明了的标识配置信息的用途
- 可以避免dom解析xml时因为特殊字符导致的解析错误发生
- 在CI环境下配置多个环境,替换文件时可以避免转义字符书写的次数:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。