您的位置:首页 > 其它

解析xml文件——简介

2018-01-14 23:04 246 查看
XML:Extensible Markup Language,可扩展标记语言,主要用于简化数据的存储和共享,它独立于硬件、软件以及应用程序。

xml文件是符合xml语法的文档,它是一个从根节点到子节点的树形结构,由元素构成,元素可以嵌套,元素中可以包含属性和文本内容,元素命名对大小写敏感,参考http://www.w3school.com.cn/xml/

xml文件格式

<?xml version="1.0" encoding="utf-8" ?>
<root att1="测试" att2="解析xml">
<child att1="a" att2="你">
<subChild att1="b" att2="好">
<node att1="c" att2="2">text1</node>
<node att1="d" att2="0">text2</node>
</subChild>
</child>
<child att1="e" att2="1">
<subChild att1="f" att2="8"></subChild>
</child>
</root>


其中第一行是 xml 声明,它定义 xml的版本和所使用的编码方式;

<root></root>
是根元素,xml文件必须包含根元素;

根元素有两个子元素
<child></child>
,子元素中又嵌套了子元素;

元素中可以有属性,比如att1和att2,多个属性用空格隔开,元素也可以有文本内容,比如其中的text1和text2。

元素的命名都是任意的,只要符合命名规范即可,只是这里我是这么命名的而已。

xml文件的解析方式

Java对xml文件的解析有4中解析方式:DOM、SAX、JDOM和DOM4J,其中最简单、性能最好的方式是DOM4J。

1. DOM(Document Object Model)方式

首先把xml文档一次性读入内存中,然后构建一个树结构并进行操作。

优点:形成树结构,解析过程中允许对数据进行修改。

缺点:需要把文档一次性读入内
9fd1
存中,资源消耗大。

2. SAX(Simple API for XML)方式

与DOM方式原理不同,不需要一次性把文档加载到内存中,而是一边扫描一边解析,事件驱动。

优点:内存占用小,对大型xml文档的解析效率较高。

缺点:需要实现多个事件处理程序,代码复杂。

3. JDOM(Java-based Document Object Model)方式

基于树形结构,使用具体的Java类而不是接口,使用了很多集合类。

优点:相比于DOM方式,减少了代码量。

缺点:性能较差。

4. DOM4J(Document Object Model for Java)方式

性能最好,使用了很多集合类和接口,开发简单,如果不是大型xml文档,使用该方式解析最佳。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: