- Java 8 官方API : Java 8 API
- github代码地址: Github
1. DOM解析XML
xml文档
1 | <?xml version="1.0" encoding="UTF-8" ?> |
程序入口
1 | import org.w3c.dom.*; |
运行结果
1 | name : sungm |
优点:
- 树结构,方便理解与使用
- 解析过程中树结构保存在内存中,方便修改
缺点:
- 当文件过大时耗用内存,需谨慎使用
2. SAX解析XML
xml文档
1 | <?xml version="1.0" encoding="UTF-8" ?> |
自定义Handler处理器
1 | import org.xml.sax.Attributes; |
程序入口
1 | import javax.xml.parsers.SAXParser; |
运行结果
1 | 开始解析XML文档 |
优点:
- 采用事件驱动的方式,耗用内存更少
- 适用于只需要处理xml文件的数据时使用
缺点:
- 需编写自定义的handler类,不易编写
- 很难同时访问同一个xml中的不同数据
3. JDOM解析XML
引入依赖
1 | <!-- https://mvnrepository.com/artifact/org.jdom/jdom --> |
XML
1 | <?xml version="1.0" encoding="UTF-8" ?> |
程序入口
1 | import org.jdom2.Attribute; |
运行结果
1 | 根节点:class |
优点:
- API简单易用,推荐使用
缺点:
- 用了很多具体类,没使用接口
4. DOM4J解析XML
引入依赖
1 | <!-- https://mvnrepository.com/artifact/dom4j/dom4j --> |
XML
1 | <?xml version="1.0" encoding="UTF-8" ?> |
程序入口
1 | import org.dom4j.Attribute; |
运行结果
1 | 根节点:名称 = class |
优点:
- 使用了接口和抽象方案,是个优秀的API
- 灵活性好、性能优异、易用性好。推荐使用