感觉还是用java操作起来比较方便
用jdom做对xml文件的读取操作
Student.java
public class Student {
private String num;
private String name;
private String age;
private String sex;
setter...
getter...
读取
public static Document doc;
File xmlFile = new File("E:\\xmltest.xml");
/**
* 读取一个XML文件,遍历其节点,将每一个节点的属性保存到实体中
* @author SavageGarden
* @param file
* @return
*/
public static ArrayList getEntityListByXmlFile(File file) {
ArrayList students = new ArrayList();
SAXBuilder sb = new SAXBuilder();
try {
doc = sb.build(file);
Element root = doc.getRootElement();
List list = root.getChildren("Student");
for(int i = 0; i < list.size(); i++){
Element xmlStudent = (Element)list.get(i);
Student javaStudent= new Student();
javaStudent.setNum(xmlStudent.getAttributeValue("num"));
javaStudent.setName(xmlStudent.getAttributeValue("name"));
javaStudent.setAge(xmlStudent.getAttributeValue("age"));
javaStudent.setSex(xmlStudent.getAttributeValue("sex"));
students.add(javaStudent);
}
} catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return students;
}
/**
* 输出实体的属性值
* @author SavageGarden
* @param students
*/
public static void printEntity(ArrayList students) {
for (int i = 0; i < students.size(); i++) {
Student student = (Student)students.get(i);
System.out.println("编号:"+student.getNum()+"--姓名:"+student.getName()+"--年龄:"+student.getAge()+"--性别:"+student.getSex());
}
}
添加内容到XML文件
/**
* 将实体属性添加到XML中
* @author SavageGarden
* @param student
* @param document
* @return
*/
public static Document addEntityToXML(Student student,Document document) {
Element root = document.getRootElement();
Element xmlStudent = new Element("Student");
if(xmlStudent != null) {
xmlStudent.setAttribute("num", student.getNum());
xmlStudent.setAttribute("name", student.getName());
xmlStudent.setAttribute("age", student.getAge());
xmlStudent.setAttribute("sex", student.getSex());
root.addContent(xmlStudent);
}
return document;
}
将内容按照指定编码输出
/**
* 将生成的XML根据指定的编码写到指定文件
* @author SavageGarden
* @param document
* @param file
*/
public static void outXMLToFile(Document document,File file,String charsetName){
XMLOutputter xmlOut = new XMLOutputter("", true, charsetName);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
xmlOut.output(document, fos);
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
}
/**
* 将生成的XML根据指定的编码转为字符串
* @author SavageGarden
* @param document
* @param charsetName
* @return
*/
public static String outXMLToString(Document document,String charsetName){
XMLOutputter xmlOut = new XMLOutputter("", true, charsetName);
return xmlOut.outputString(document);
}
xml文件内容
<?xml version="1.0" encoding="GB2312"?>
<Students>
<Student num="1" name="张三" age="22" sex="男"/>
<Student num="2" name="李四" age="23" sex="男"/>
<Student num="3" name="王五" age="24" sex="男"/>
</Students>
测试输出内容和添加内容
File xmlFile = new File("E:\\xmlForYaWu.xml");
printEntity(getEntityListByXmlFile(xmlFile));
Student student = new Student();
student.setNum("4");
student.setName("李六");
student.setAge("34");
student.setSex("女");
outXMLToFile(addEntityToXML(student,doc),xmlFile,"GB2312");
printEntity(getEntityListByXmlFile(xmlFile));
结果:
编号:1--姓名:张三--年龄:22--性别:男
编号:2--姓名:李四--年龄:23--性别:男
编号:3--姓名:王五--年龄:24--性别:男
编号:1--姓名:张三--年龄:22--性别:男
编号:2--姓名:李四--年龄:23--性别:男
编号:3--姓名:王五--年龄:24--性别:男
编号:4--姓名:李六--年龄:34--性别:女
分享到:
相关推荐
在JDOM中,XML文档被表示为一个树形结构,主要由三个基本元素组成:`Element`代表XML元素,`Attribute`表示元素的属性,而`Document`则封装了整个XML文档。通过这些类,你可以创建新的XML文档,或者读取并修改已有的...
JDOM是Java领域中专门处理XML的一个库,它提供了一种高效且方便的方式来创建、操作和读取XML文档。本文将详细介绍JDOM-1.0版本在解析XML方面的核心概念和技术。 ### JDOM简介 JDOM是由Jason Hunter和Brett ...
这个框架支持多种Web服务标准,如SOAP、WSDL(Web服务描述语言)和WS-I(Web服务互操作性)基本 profiles。XFire的主要优势在于其简单易用的API,它使得开发者可以快速地将Java对象绑定到Web服务接口,同时提供了...
除了基本的解析,JDOM还支持更复杂的操作,如添加、删除或修改XML元素和属性。例如,我们可以创建新的元素并将其添加到XML文档,或者改变现有元素的属性值。 总的来说,JDOM为Java开发者提供了一个强大且灵活的工具...
为了方便地操作XML文件,开发者通常会利用特定的库,如DOM4J和JDOM。这两个库是Java中处理XML的流行选择,提供了强大的API来读取、写入、修改XML文档。 **DOM4J库(dom4j-1.6.1.jar)** DOM4J是一个开源的Java库,...
使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.jdom ...
1. **JDOM 1.1.3**: 这是JDOM的一个较早版本,它提供了基本的XML解析、构建和操作功能。在这个版本中,开发者可以创建XML文档,读取XML文件,修改文档结构,并将文档写回磁盘。然而,这个版本可能没有包含一些现代...
JDOM允许开发者以一种更符合Java习惯的方式来操作XML,比如创建、读取和修改XML文档,而不是依赖于DOM或SAX。 综合来看,这个压缩包可能是一个用于开发具有动态交互功能的Web应用的环境。DWR处理AJAX请求,BSF提供...
2. **JDOM基本元素**:在JDOM中,XML文档被表示为`org.jdom.Document`对象,根元素是`Element`,子元素、属性等都是`Element`的实例。`Attribute`代表XML元素的属性,`Namespace`用于处理命名空间。 3. **创建XML...
#### 三、JDOM的基本操作 1. **读取XML文件** - 使用`SAXBuilder`类来解析XML文件并创建`Document`对象。 - 通过`Document`对象获取根元素`Element`。 - 通过遍历根元素的子元素来提取所需的信息。 2. **修改XML...
JDOM将XML解析为一个由元素、属性和文本组成的树形结构,简化了对XML数据的操作。 2. **jsf-api.jar** 和 **jsf-impl.jar**:这两个JAR包是JavaServer Faces(JSF)的核心组件。JSF是一个用于构建用户界面的MVC框架...
2. **JDOM基本结构** - **Element(元素)**:XML文档中的每一个节点,可以包含子元素、属性和文本。 - **Attribute(属性)**:元素上的键值对,用于提供额外信息。 - **Text(文本)**:元素内部的文本内容。 ...
"jdom-2.0.6.jar"是核心的JDOM库,包含了所有用于处理XML的基本组件,如Element(元素)、Attribute(属性)、Namespace(命名空间)等。开发者可以直接引入这个JAR,就可以在Java项目中使用JDOM进行XML的操作。 ...
在实际应用中,这些基本操作可以帮助开发者构建复杂的XML处理逻辑,如数据交换、配置文件管理和数据序列化等。 总结来说,JDOM 2.0.5.jar是一个强大的XML处理库,它提供了高效且易用的API,让Java开发者能够轻松地...
本示例“jdom-test-1.1.zip”提供了使用JDOM库操作XML的详细教程。 JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地...
- **org.jdom** 包含了所有XML文档元素的基本Java类,例如`Element`, `Attribute`, `Document`等。 - **org.jdom.adapters** 包含了与DOM兼容的适配器类,便于在JDOM与DOM之间进行转换。 - **org.jdom.filter** 提供...
### 利用 JDOM 操作 XML 文档 #### 一、引言 JDOM(Java Document Object Model)是一种用于处理 XML 数据的 Java 库。它提供了面向对象的 API,允许开发人员以简单直观的方式创建、读取、更新和保存 XML 文档。与 ...
首先,让我们了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML的核心,它们通过层级关系形成树状结构,即XML文档对象模型(Document Object Model,...
这些类构成了JDOM的核心,它们帮助开发者构建和操作XML文档。 在解析XML文件时,JDOM提供了SAXBuilder和DOMBuilder两种方式。SAXBuilder基于事件驱动,适用于处理大型XML文件,因为它占用较少的内存。DOMBuilder则...
JDom主要由三部分构成:SAXBuilder用于从XML源生成Element对象树,Element作为文档的基本结构单元,以及DOMBuilder用于将JDom对象转换回DOM对象。 3. **XML读取** 使用JDom读取XML文件通常涉及以下步骤: - 创建...