解析xml文件——简介

xiaoxiao2021-02-28  18

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文档一次性读入内存中,然后构建一个树结构并进行操作。 优点:形成树结构,解析过程中允许对数据进行修改。 缺点:需要把文档一次性读入内存中,资源消耗大。

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文档,使用该方式解析最佳。

转载请注明原文地址: https://www.6miu.com/read-1700156.html

最新回复(0)