XML 即可扩展标记语言(Extensible Markup language),你可以根据自己的需要扩展 XML。XML 中可以轻松定义<books>, <orders>等自定义标签,而在 HTML 等其他标记语言中必须使用预定义的标签,比如<p>,而不能使用用户定义的标签。使用 DTD 和 XML Schema 标准化XML 结构。XML 主要用于从一个系统到另一系统的数据传输,比如企级应用的客户端与服务端。
XPath 是用于从 XML 文档检索元素的 XML 技术。XML 文档是结构化的,因此 XPath 可以从 XML 文件定位和检索元素、属性或值。从数据检索方面来说,XPath与 SQL 很相似,但是它有自己的语法和规则。了解更多查看怎样使用 XPath 从XML文档中检索数据。
XML 命名空间与 Java 的 package 类似,用来避免不同来源名称相同的标签发生冲突。XML 命名空间在 XML 文档顶部使用 xmlns 属性定义,语法为 xmlns:prefix=’URI’。prefix 与XML 文档中实际标签一起使用。下面例子为 XML 命名空间的使用。
<root xmlns:inst="http://instruments.com/inst"
<inst:phone>
<inst:number>837363223</inst:number>
</inst:phone>
</root>
解析方式:有 DOM,SAX,STAX 等:
● DOM:处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问;
● SAX:不同于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问;
● STAX:Streaming API for XML (StAX)。
1)在做数据交换平台时,将不能数据源的数据组装成 XML 文件,然后将 XML 文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同 XML 文件中还原相关信息进行处理。
2)在做软件配置时,利用 XML 可以很方便的进行,软件的各种配置参数都存贮在 XML 文件中。
JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力不差,网络传输数据将减少更多的流量从而加快速度,是一种轻量级的数据交换格式。
1.JSON是JavaScript Object Notation;XML是可扩展标记语言。
2.JSON是基于JavaScript语言;XML源自SGML。
3.JSON是一种表示对象的方式;XML是一种标记语言,使用标记结构来表示数据项。
4.JSON不提供对命名空间的任何支持;XML支持名称空间。
5.JSON支持数组;XML不支持数组。
6.XML的文件相对难以阅读和解释;与XML相比,JSON的文件非常易于阅读。
7.JSON不使用结束标记;XML有开始和结束标签。
8.JSON的安全性较低;XML比JSON更安全。
9.JSON不支持注释;XML支持注释。
10.JSON仅支持UTF-8编码;XML支持各种编码。