通过SAXReader解析XML

1.通过SAXReader解析(需要导入包:dom4j-1.6.1.jar和jaxen-1.2.0-atlassian-2.jar)

包路径图:

employee.xml文件内容

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <emps>
 3     <emp>
 4         <id>1</id>
 5         <name>张三</name>
 6         <age>34</age>
 7         <gender>男</gender>
 8         <salary>3000</salary>
 9     </emp>
10     <emp>
11         <id>2</id>
12         <name>李四</name>
13         <age>21</age>
14         <gender>女</gender>
15         <salary>4000</salary>
16     </emp>
17     <emp>
18         <id>3</id>
19         <name>王五</name>
20         <age>46</age>
21         <gender>女</gender>
22         <salary>6500</salary>
23     </emp>
24     <emp>
25         <id>4</id>
26         <name>赵六</name>
27         <age>28</age>
28         <gender>男</gender>
29         <salary>4400</salary>
30     </emp>
31     <emp>
32         <id>5</id>
33         <name>钱七</name>
34         <age>53</age>
35         <gender>男</gender>
36         <salary>12000</salary>
37     </emp>
38     <cmp department="总经办">
39         <id>007</id>
40         <name>董事长</name>
41         <age>52</age>
42         <gender>男</gender>
43         <salary>100000</salary>
44     </cmp>
45 </emps>

XmlDemo.java代码

 1 package xmlDemo;
 2
 3 import java.io.File;
 4 import java.util.List;
 5
 6 import org.dom4j.Document;
 7 import org.dom4j.DocumentException;
 8 import org.dom4j.Element;
 9 import org.dom4j.io.SAXReader;
10
11 public class XmlDemo {
12     public static void main(String[] args) {
13         try {
14             // 创建SAXReader
15             SAXReader reader = new SAXReader();
16             Document document = reader.read(
17                     new File("C:\\Users\\zouqiang\\Workspaces\\MyEclipse2016\\day1215XML\\src\\xmlDemo\\employee.xml"));
18             // 获取根节点
19             Element root = document.getRootElement();
20             // 查找指定节点名称QName的所有子节点elements
21             List<Element> list = root.elements("emp");
22             // 获取emp
23             for (Element object : list) {
24                 System.out.println(object.getName());
25                 // System.out.println(object.attribute("department").getData());
26                 for (Element element : (List<Element>) object.elements()) {
27                     System.out.print(((Element) element).getName() + ":");
28                     System.out.print(element.getText() + " ");
29                 }
30                 System.out.println();
31             }
32         } catch (DocumentException e) {
33             e.printStackTrace();
34         }
35     }
36 }

输出结果:

emp
id:1 name:张三 age:34 gender:男 salary:3000
emp
id:2 name:李四 age:21 gender:女 salary:4000
emp
id:3 name:王五 age:46 gender:女 salary:6500
emp
id:4 name:赵六 age:28 gender:男 salary:4400
emp
id:5 name:钱七 age:53 gender:男 salary:12000

时间: 2024-10-08 08:40:23

通过SAXReader解析XML的相关文章

用SAXReader解析xml文档

使用SAXReader需要导入dom4j-full.jar包. dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它. 使用举例: 1.  s.xml内容 <?xml version="1.0" encoding="GB2312"?> <data>

SAXReader解析xml文件demo

1. 加入jar包 2. 代码解析 package practice; import java.io.File; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class ReadXml { public static void main(Str

XML(四)dom4j解析XML

使用dom4j需要导入jar包 jar包下载地址:http://pan.baidu.com/s/1o65jWRw 将dom4j-1.6.1.jar包导入Eclipse book2.xml <?xml version="1.0" encoding="UTF-8"?> <书架> <书> <书名>JAVA</书名> <作者>XXXXXX</作者> <售价>23333</售

DOM4J解析xml(CURD)

public class CURDTest { public static void main(String[] args) throws Exception { //获得document //获得解析流 SAXReader reader = new SAXReader(); //解析xml Document document = reader.read("books.xml"); //获得根元素 Element rootElement = document.getRootElemen

DOM4J生成、解析XML实例

import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Elemen

dom4j 解析 XML文档截录

dom4j 是一种解析 XML 文档的开放源代码 XML 框架.本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档. dom4j API 包含一个解析 XML 文档的工具.本文中将使用这个解析器创建一个示例 XML 文档.清单 1 显示了这个示例 XML 文档,catalog.xml. 清单 1. 示例 XML 文档(catalog.xml) <?xml version="1.0" encoding="UTF-8"?> <cat

一个java解析xml的简单例子

java解析xml,主要是通过Dom4j实现的,很多场合都会用到此功能,需要解析XML文件. 下面是一个简单的解析XML文件的例子: import java.util.Iterator; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * 解析XML文件 * * @author sunlightcs

java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol

完整错误信息: org.dom4j.DocumentException: no protocol: <?xml version="1.0" encoding="utf-8" ?><smil><subtitle visible="1" fontfamily="宋体" size="36" color="#FFFFFF" bgcolor=""

四种生成和解析XML文档的方法详解

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J 一.介绍及优缺点分析 1. DOM(Document Object Model) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的. [优点]      ①允许应用