`
joseph_he
  • 浏览: 38775 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

dom4j操作xml

    博客分类:
  • java
阅读更多
package com.zl;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 

public class TestDom4J {
	/**
	 * 得到Document
	 * @param file
	 * @return
	 * @throws Exception
	 */
	private Document getDocument(File file) throws Exception {
		SAXReader reader = new SAXReader();
		Document doc = reader.read(file);
		return doc;
	}
	/**
	 * 读取XML
	 * @param fileName
	 */
	private void readXml(String  fileName) {
		try {
			File file=new File(fileName);
			Document doc = getDocument(file);
			Element root = doc.getRootElement();
			for (Iterator it = root.elementIterator(); it.hasNext();) {
				Element el = (Element) it.next();
				String student=el.getName();
				String name=el.element("name").getText();
				String sex=el.elementText("sex");
				System.out.println(student+"-"+name+"-"+sex);
			}
		 

		} catch (Exception e) {
			e.printStackTrace();
		}

	}
	/**
	 * 建立一个新的XML
	 * @param fileName
	 * @throws Exception
	 */
	private void creatXML(String fileName) throws Exception {
		 Document doc=DocumentHelper.createDocument();
		 Element root=doc.addElement("persons");
		 Element st=root.addElement("student");
		 st.addAttribute("id", "1");
		 Element stn=st.addElement("name");
		 stn.setText("小明");
		 Element stg=st.addElement("sex");
		 stg.setText("女");
		 Element pel=root.addElement("person");
		 pel.addAttribute("id", "1");
		 Element name=pel.addElement("name");
		 name.setText("zl");
		 Element gender=pel.addElement("gender");
		 gender.setText("男");
		 Writer out=new FileWriter(fileName);
		 OutputFormat outf=OutputFormat.createPrettyPrint();
		 outf.setEncoding("GBK");
		 XMLWriter writer=new XMLWriter(out,outf);
		 writer.write(doc);
		 writer.close();
		 System.out.println("生成成功");

	}
	
	/**
	 * 添加XML中的一个元素
	 * @param file
	 * @throws Exception
	 */
	private void addElement(File file) throws Exception {
		 
		Document doc=getDocument(file);
		Element root=doc.getRootElement();
		Element man=root.addElement("man");
		man.addAttribute("id", "1");
		OutputFormat format=new OutputFormat();
		format.setEncoding("GBK");
		XMLWriter writer=new XMLWriter(new FileWriter(file),format);
		writer.write(doc);
		writer.close();
		System.out.println("OK");
		

	}
	
	private void delete(File	 file) throws Exception {
		 Document doc=getDocument(file);
		 Element root =doc.getRootElement();
		 List<Element> list=root.elements("student");
		 for (Element el: list) {
			if (el.attributeValue("id").equals("1")) {
				root.remove(el);	 
				XMLWriter writer=new XMLWriter(new FileWriter(file));
				writer.write(doc);
				writer.close();
				System.out.println("OK");
			}
		}
	}
	
	public static void main(String[] args) throws Exception {
		TestDom4J t=new TestDom4J();
		//t.modifyElment(new File("zl.xml"));
		t.creatXML("zl.xml");
		//t.readXml("struts.xml");
		//t.delete(new File("zl.xml"));
 
		 
	}
}

 

分享到:
评论

相关推荐

    DOM4J 读取xml字符串

    **DOM4J 读取XML字符串** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得处理 XML 文件变得更加简单。DOM4J 的设计理念是简洁、灵活且高性能,它支持 SAX 和 DOM 解析,并提供了面向对象的接口。...

    DOM4j操作xml文件

    DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件DOM4j操作xml文件

    dom4j读写xml文档实例

    要使用DOM4J读取XML文档,首先需要创建一个`SAXReader`对象,然后调用`read`方法传入XML文件路径。这将返回一个`Document`对象,我们可以从中获取所有元素信息。 ```java File file = new File("path_to_xml_file")...

    使用dom4j读取xml四种方法

    ### 使用dom4j读取XML的四种方法 在Java开发中,处理XML文件是一种常见的需求。Dom4j作为一款简洁高效的Java库,被广泛应用于解析、操作XML文档。本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例...

    dom4j读取XML,解析XML简单示例

    首先,`XMLTest.java`是一个包含DOM4J操作XML的代码实例。通常,这样的程序会包含以下步骤: 1. 引入DOM4J库:在Java项目中,你需要导入DOM4J的相关类,如`org.dom4j.Document`、`org.dom4j.DocumentHelper`等。这...

    DOM4J读取XML

    本文将详细介绍如何使用DOM4J来读取XML文件中的信息。 ### DOM4J读取XML详解 #### 初始化资源路径 代码片段中的`URL url = this.getClass().getClassLoader().getResource("/")`这一行是获取类加载器的根目录路径...

    java中用dom4j读取xml

    本文将深入探讨如何使用DOM4J库来读取XML文件。 首先,让我们理解DOM4J的基本概念。DOM4J是基于DOM模型的,DOM(Document Object Model)是一种标准的API,用于解析XML文档并将其表示为一棵由节点组成的树形结构。...

    dom4j解析xml

    #### 四、XPath表达式在DOM4J中的应用 DOM4J支持XPath表达式来查询XML文档中的节点,XPath表达式是查询XML文档的一种强大工具,能够精确地定位到文档中的任意节点。 - **基本的XPath表达式**: - `/AAA/BBB/CCC`...

    使用dom4j操作xml

    ### 使用dom4j操作XML详解 #### 一、DOM4j简介与配置 **DOM4j** 是一款专为Java平台设计的开源XML解析处理工具。它的设计充分考虑了性能和易用性,同时提供了对DOM、SAX及JAXP等标准的支持,因此非常适合进行复杂...

    dom4j解析xml详解

    - **配置文件解析**: 许多应用使用XML作为配置文件的格式,DOM4J可以方便地读取和更新这些配置信息。 - **Web服务**: 在SOAP等协议中,XML是常用的数据传输格式,DOM4J能够帮助构建和解析这些XML消息。 - **文档生成...

    Dom4J生成XML的完整方法希望大家能用到

    Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库来创建XML文档,包括初始化文档、添加元素、设置属性、插入文本以及最终保存文档至...

    Java用DOM4J读取XML

    ### Java使用DOM4J读取XML知识点解析 #### 一、概述 在Java开发中,处理XML文件是一项常见的任务。DOM4J是一个简单且功能强大的Java库,用于处理XML文档。它提供了类似于DOM的API,但更为轻量级且易于使用。本篇将...

    使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点

    在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...

    使用Maven管理项目,实现DOM4j操作XML文件

    DOM4j则是一个强大的Java库,用于处理XML文档,提供了丰富的API来实现XML的读取、写入、修改等操作。在这个示例中,我们将深入探讨如何利用Maven管理和DOM4j来操作XML文件。 首先,让我们了解一下Maven。Maven是...

    dom4j解析xml文件(增删改查)

    在提供的视频资源"17-dom4j解析xml文档(增删改查).avi"中,可能详细展示了这些操作的步骤和示例,观看该视频将进一步加深你对DOM4J操作XML的理解。记得实践是检验理论的最好方式,动手操作会让你更好地掌握这些知识...

    dom4j读取xml

    **DOM4J解析XML的基本概念** DOM4J是Java中一个功能强大且...以上就是关于DOM4J读取XML的基本知识点和相关操作。在实际开发中,DOM4J不仅能够读取XML,还能帮助我们构建、修改XML文档,是Java处理XML的重要工具之一。

    dom4j操作XMl例子

    在本示例中,"dom4jExample.java"是一个Java程序,它展示了如何利用DOM4J库来操作XML文件。 首先,我们需要了解DOM4J的基本概念。DOM4J采用Document Object Model (DOM)接口,但它的实现比标准DOM更快,占用内存更...

    dom4j操作xml的增删改查

    DOM4J是一个强大的Java库,专门用于处理XML文档。...无论是在读取、创建、修改还是查询XML文档,DOM4J都能提供强大支持。通过实践这些基本操作,开发者可以轻松地在自己的项目中实现XML的增删改查功能。

Global site tag (gtag.js) - Google Analytics