XML基础及特殊字符转义 - 1

160 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

最近在写一个插件, 用来将IntelliJ平台上面的项目中有xml文件按照name属性进行字母表排序. 在写插件的过程, 涉及大量的对xml格式及API的处理, 这里简要记录一下收获与心得.

标记语言

标记语言(Markup Language), 是一种电脑文字编码, 通过将文本(text)以及文本相关其它信息结合起来, 展现出关于文档结构和数据处理的细节. 当前广泛使用的标记语言有HTML(HyperText Markup Language, 超文本标记语言)和XML(Extensible Markup Language, 可扩展标记语言). 标记语言在网页以及网络服务中普通应用.

HTML vs XML

HTML和XML是由同一种语言发展出来的, 其共同父语言是SGML(Standard Generalized Markup Language, 标准通用标记语言).

XML由HTML发展而来, 格式与之相似, 但更加严格.

\HTMLXML
格式例如 link同HTML
关注点数据的展示和用户的体验数据本身
扩展性tag是预定义的, 不可扩展tag可扩展, 可自定义

XML描述的是结构, 内容和语义, 它不描述页面元素的格式化. HTML则侧重于如何表现信息, 内容的描述和展示融为一体. XML中每个元素名称都是成对出现的, 结束的时候在标签前加/.

XML作用

XML可以用来数据的描述, 存储和交换. 作为一种通用的数据格式, 它是平台无关, 语言无关, 系统无关的, 极大地方便于数据的集成和交互.

  1. 存储和交换数据

XML只用元素和属性来描述数据, 而不提供数据的显示方法, 这使得XML具有能够运行于不同系统平台之间和转换成不同格式目标文件. 用XML在应用程序和公司之间作数据交换, 几个应用程序可以共享和解析同一个XML文件, 不必使用传统的字符串解析或拆解过程.

  1. 配置

许多应用都将配置数据存储在各种文件里, 如SSH, Android. 使用XML配置文件的应用程序能够方便地处理所需数据, 不用像其它应用那样要经过重新编译才能修改和维护应用系统. XML比数据库占用的资源少, 操作方便, 用来存储简单的信息, 现在主要用在程序的配置文件上(比如web.xml). 现在有越来越多的设备也支持XML了.

XML文件的后缀名是xml, 每个XML文件有且仅有一个根元素, 所谓根元素就是包含了其他所有元素的元素. XML目前只有一个版本, 即1.0. XML是自描述数据, 使用现有的国际标准. XML中有良构的(Well-formed)XML和合法的(validate)XML两种标准.