先附上一个实体对象包含了 姓名 角色 年龄
package com.gyj.jdom;
import java.io.Serializable;
/**
* 一个实体对象并且序列化
* @author GYJ
* @date 2014-3-22
*/
public class EmployeeObject implements Serializable{
private static final long serialVersionUID = -5538384024205531388L;
private String name;
private String role;
private int age;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the role
*/
public String getRole() {
return role;
}
/**
* @param role the role to set
*/
public void setRole(String role) {
this.role = role;
}
/**
* @return the age
*/
public int getAge() {
return age;
}
/**
* @param age the age to set
*/
public void setAge(int age) {
this.age = age;
}
/* (non-Javadoc)
* @see java.lang.Object#toString()
*/
@Override
public String toString() {
return "EmployeeObject [name=" + name + ", role=" + role + ", age="
+ age + "]";
}
}
利用JDOM来解析读取一份相对应的XML文件
package com.gyj.jdom;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.DOMBuilder;
import org.xml.sax.SAXException;
/**
* 利用JDOM读取XML文件
* @author GYJ
* @date 2014-3-23
*/
public class JDOMXMLReader {
/**
* 得到JDOM的文档对象还有其他的方式列如:sax stax解析器都可以得到, 这里这介绍一种的使用就行了,也是性能比较好的JDOM
* <p>需要下载JAR包jdom-2.0.5.jar URL:http://www.jdom.org/dist/binary/
* @param args
*/
public static void main(String[] args) {
//这是一份xml文件
String fileName = "employees.xml";
//定义JDOM文档对象
try {
Document jdomDoc = useDOMParser(fileName);
//得到根节点
Element root = jdomDoc.getRootElement();
List<Element> listElements = root.getChildren("Employee");
List<EmployeeObject> list = new ArrayList<>();
for (Element empElement : listElements) {
EmployeeObject eobj = new EmployeeObject();
eobj.setAge(Integer.valueOf(empElement.getChildText("age")));
eobj.setName(empElement.getChildText("name"));
eobj.setRole(empElement.getChildText("role"));
list.add(eobj);
}
//输出结果
for (EmployeeObject empObj : list) {
System.out.println(empObj);
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//out put=============
/*EmployeeObject [name=gyj, role=Java, age=29]
EmployeeObject [name=Lisa, role=CEO, age=35]
EmployeeObject [name=Tom, role=Manager, age=40]*/
}
/**
* 使用DOM解析器得到文档对象
* @param fileName
* @return
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
*/
private static Document useDOMParser(String fileName) throws ParserConfigurationException, SAXException, IOException {
//创建文档对象
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder;
dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(new File(fileName));
//DOMBuilder 是JDOM的文档类
DOMBuilder domBuilder = new DOMBuilder();
//返回JDOM文档对象
return domBuilder.build(doc);
}
}
employees.xml 文件内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Employees>
<Employee id="1">
<age>29</age>
<name>gyj</name>
<role>Java</role>
</Employee>
<Employee id="2">
<age>35</age>
<name>Lisa</name>
<role>CEO</role>
</Employee>
<Employee id="3">
<age>40</age>
<name>Tom</name>
<role>Manager</role>
</Employee>
</Employees>
分享到:
相关推荐
接下来,我们将详细介绍使用JDOM读取XML文件的步骤: 1. 加载XML文件:使用`SAXBuilder`类来读取XML文件并构建DOM树。如下所示: ```java import org.jdom2.Document; import org.jdom2.input.SAXBuilder; public...
要使用JDOM读取XML文件,我们需要以下几个步骤: 1. 引入JDOM库:在项目中添加JDOM的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>jdom2 <version>...
JDOM虽然功能强大,但在处理大型XML文件时可能效率较低,因为它需要将整个文档加载到内存。这时,可以考虑使用StAX或Java内置的DOM API,它们提供了流式处理或分块处理的能力,降低了内存消耗。 总结来说,JDOM是一...
用JDOM读取XML文件 用JDOM读取XML文件用JDOM读取XML文件
在JDOM中,读取XML文件通常涉及以下步骤: 1. 创建一个`SAXBuilder`实例,这是解析XML文档的入口点。 2. 使用`SAXBuilder`的`build`方法读取XML文件,返回一个`Document`对象。 3. 通过`Document`对象访问XML文档的...
本教程将深入探讨如何使用JDOM读取XML文件,并阐述其在Spring框架中的应用。 首先,我们了解JDOM的基本概念。JDOM提供了一种树型结构来表示XML文档,其中XML元素、属性、文本和注释等都对应于特定的Java对象。通过...
### JDOM 读取与修改 XML 文件 #### JDOM 简介 JDOM(Java Document Object Model)是一个用于处理 XML 数据的 Java 库。它提供了面向对象的 API 来解析、创建和修改 XML 文档。JDOM 的设计非常直观且易于使用,...
使用JDom读取XML文件通常涉及以下步骤: - 创建SAXBuilder实例。 - 调用`build()`方法,传入XML文件的输入流或文件路径,返回一个Document对象,表示整个XML文档。 - 通过Document对象获取根元素,然后可以遍历...
在这个例子中,我们将深入探讨如何使用JDOM解析XML文件,并进行遍历与构建。 首先,我们需要了解JDOM的基本概念。JDOM主要由三部分构成:SAXBuilder用于从XML源构建DOM树,Element代表XML文档的元素,Attribute代表...
本篇文章将详细探讨如何使用JDOM读取具有属性的XML文件,例如: ```xml ``` 首先,我们需要了解XML文档的基本结构。XML文档由元素(Element)、属性(Attribute)、文本(Text)等组成。在这个例子中,`...
本篇文章将深入探讨如何利用JDOM解析XML文件,并基于XML中的类名生成相应的对象。 首先,我们需要理解JDOM的基本概念。JDOM提供了一组Java对象来表示XML文档,包括Element(元素)、Attribute(属性)、Text(文本...
**JDOM解析XML文件** XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件和文档存储等领域。在Java中,JDOM(Java Document Object Model)是一个流行的选择来解析和操作...
要使用JDOM读取XML文件,首先需要导入必要的库: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; ``` 然后,我们可以创建一个`SAXBuilder`实例,用于解析XML...
### JDOM操作XML文件的关键知识点 #### 一、JDOM简介 JDOM(Java Document Object Model)是一种基于Java的XML解析API,它提供了一种简便的方式来解析和操作XML文档。与传统的DOM相比,JDOM更加注重性能和易用性,...
- **优化策略**:如果确实需要处理大型XML文件,可以使用JDOM的SAXBuilder,它允许以SAX方式读取XML,但仍然使用JDOM API进行操作。 6. **示例代码** ```java import org.jdom2.Document; import org.jdom2....
在这个例子中,我们将学习如何读取XML文件,创建一个`SAXBuilder`对象来构建XML文档的DOM(文档对象模型)表示,然后通过`Document`对象来访问和修改XML结构。 2. `sohuchannel.xml`:这是我们要解析的XML文件,可能...
接下来,我们将详细介绍JDOM读取XML文件的步骤: 1. 创建`SAXBuilder`对象:`SAXBuilder`是JDOM中用于构建XML文档的类,它使用SAX解析器来解析XML文件。 ```java import org.jdom2.input.SAXBuilder; SAXBuilder ...
使用JDOM解析XML文件的第一步是创建一个`SAXBuilder`对象,然后通过调用其`build`方法,传入XML文件的输入流,得到一个`Document`对象,该对象代表了整个XML文档。 ```java SAXBuilder sb = new SAXBuilder(); ...
在这个小实例中,我们将深入探讨如何使用JDOM解析XML文件。 首先,我们需要引入JDOM的依赖。在Java项目中,如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom <artifactId>...