`
SavageGarden
  • 浏览: 223217 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

XML---JDOM基本操作

    博客分类:
  • XML
阅读更多
感觉还是用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-1.1.zip jdom-1.1.jar jdom.jar jdom库 jdom操作xml

    在JDOM中,XML文档被表示为一个树形结构,主要由三个基本元素组成:`Element`代表XML元素,`Attribute`表示元素的属性,而`Document`则封装了整个XML文档。通过这些类,你可以创建新的XML文档,或者读取并修改已有的...

    jdom-1.0,jdom解析xml

    JDOM是Java领域中专门处理XML的一个库,它提供了一种高效且方便的方式来创建、操作和读取XML文档。本文将详细介绍JDOM-1.0版本在解析XML方面的核心概念和技术。 ### JDOM简介 JDOM是由Jason Hunter和Brett ...

    xfire-all-1.2.4 与jdom-1.0

    这个框架支持多种Web服务标准,如SOAP、WSDL(Web服务描述语言)和WS-I(Web服务互操作性)基本 profiles。XFire的主要优势在于其简单易用的API,它使得开发者可以快速地将Java对象绑定到Web服务接口,同时提供了...

    JDom--Str.rar_jdom

    除了基本的解析,JDOM还支持更复杂的操作,如添加、删除或修改XML元素和属性。例如,我们可以创建新的元素并将其添加到XML文档,或者改变现有元素的属性值。 总的来说,JDOM为Java开发者提供了一个强大且灵活的工具...

    java 操作xml文件(dom4j-1.6.1.jar和jdom.jar)

    为了方便地操作XML文件,开发者通常会利用特定的库,如DOM4J和JDOM。这两个库是Java中处理XML的流行选择,提供了强大的API来读取、写入、修改XML文档。 **DOM4J库(dom4j-1.6.1.jar)** DOM4J是一个开源的Java库,...

    jdom 读取XML 文件

    使用JDOM,我们可以通过API操作这些节点来实现对XML的解析和操作。 要读取XML文件,首先需要在项目中引入JDOM库。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.jdom ...

    jdom的两种版本jar包集合

    1. **JDOM 1.1.3**: 这是JDOM的一个较早版本,它提供了基本的XML解析、构建和操作功能。在这个版本中,开发者可以创建XML文档,读取XML文件,修改文档结构,并将文档写回磁盘。然而,这个版本可能没有包含一些现代...

    dwr2.0.2.jar + bsf-2.3.jar+xml-apis.jar

    JDOM允许开发者以一种更符合Java习惯的方式来操作XML,比如创建、读取和修改XML文档,而不是依赖于DOM或SAX。 综合来看,这个压缩包可能是一个用于开发具有动态交互功能的Web应用的环境。DWR处理AJAX请求,BSF提供...

    java,用jdom操作xml-创建,修改

    2. **JDOM基本元素**:在JDOM中,XML文档被表示为`org.jdom.Document`对象,根元素是`Element`,子元素、属性等都是`Element`的实例。`Attribute`代表XML元素的属性,`Namespace`用于处理命名空间。 3. **创建XML...

    JDOM操作xml文件的xmlBean

    #### 三、JDOM的基本操作 1. **读取XML文件** - 使用`SAXBuilder`类来解析XML文件并创建`Document`对象。 - 通过`Document`对象获取根元素`Element`。 - 通过遍历根元素的子元素来提取所需的信息。 2. **修改XML...

    JAVA常用JAR包jdom.jar、jsf-api.jar、jsf-impl.jar、jstl-1.2.jar、saxpath.jar、xalan.jar、xerces.jar、xml-apis.jar包

    JDOM将XML解析为一个由元素、属性和文本组成的树形结构,简化了对XML数据的操作。 2. **jsf-api.jar** 和 **jsf-impl.jar**:这两个JAR包是JavaServer Faces(JSF)的核心组件。JSF是一个用于构建用户界面的MVC框架...

    java jdom解析xml

    2. **JDOM基本结构** - **Element(元素)**:XML文档中的每一个节点,可以包含子元素、属性和文本。 - **Attribute(属性)**:元素上的键值对,用于提供额外信息。 - **Text(文本)**:元素内部的文本内容。 ...

    jdom-2.0_6.zip

    "jdom-2.0.6.jar"是核心的JDOM库,包含了所有用于处理XML的基本组件,如Element(元素)、Attribute(属性)、Namespace(命名空间)等。开发者可以直接引入这个JAR,就可以在Java项目中使用JDOM进行XML的操作。 ...

    jdom-2.0.5.jar(带一个源程序)

    在实际应用中,这些基本操作可以帮助开发者构建复杂的XML处理逻辑,如数据交换、配置文件管理和数据序列化等。 总结来说,JDOM 2.0.5.jar是一个强大的XML处理库,它提供了高效且易用的API,让Java开发者能够轻松地...

    jdom-test-1.1.zip_Java Test_java 操作xml_jdom_jdom xml_xml java jd

    本示例“jdom-test-1.1.zip”提供了使用JDOM库操作XML的详细教程。 JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地...

    jdom介绍及使用指南

    - **org.jdom** 包含了所有XML文档元素的基本Java类,例如`Element`, `Attribute`, `Document`等。 - **org.jdom.adapters** 包含了与DOM兼容的适配器类,便于在JDOM与DOM之间进行转换。 - **org.jdom.filter** 提供...

    利用jdom操作xml文档

    ### 利用 JDOM 操作 XML 文档 #### 一、引言 JDOM(Java Document Object Model)是一种用于处理 XML 数据的 Java 库。它提供了面向对象的 API,允许开发人员以简单直观的方式创建、读取、更新和保存 XML 文档。与 ...

    xml数据前后台解析:jdom与dom4j源码,程序可以跑

    首先,让我们了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML的核心,它们通过层级关系形成树状结构,即XML文档对象模型(Document Object Model,...

    使用JDOM解析XML文件

    这些类构成了JDOM的核心,它们帮助开发者构建和操作XML文档。 在解析XML文件时,JDOM提供了SAXBuilder和DOMBuilder两种方式。SAXBuilder基于事件驱动,适用于处理大型XML文件,因为它占用较少的内存。DOMBuilder则...

    JDom 读写XML

    JDom主要由三部分构成:SAXBuilder用于从XML源生成Element对象树,Element作为文档的基本结构单元,以及DOMBuilder用于将JDom对象转换回DOM对象。 3. **XML读取** 使用JDom读取XML文件通常涉及以下步骤: - 创建...

Global site tag (gtag.js) - Google Analytics