`
mmdev
  • 浏览: 12930825 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Dom4j 使用方法(一)

 
阅读更多
public static void main(String[] args) {

		String path = Test01.class.getResource("").getFile().substring(1);
		
		createXMLFile(path + "test_create.xml");
		System.out.println("write xml finished!");
		modiXMLFile(path + "test_create.xml", path + "test_update.xml");
		System.out.println("modify xml finished!");
	}

	public static int createXMLFile(String filename) {
		int returnValue = 0;
		Document document = DocumentHelper.createDocument();
		Element booksElement = document.addElement("books");
		booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");

		// book1
		Element bookElement = booksElement.addElement("book");
		bookElement.addAttribute("show", "yes");
		Element titleElement = bookElement.addElement("title");
		titleElement.setText("Dom4j Tutorials");
		// book2
		bookElement = booksElement.addElement("book");
		bookElement.addAttribute("show", "yes");
		titleElement = bookElement.addElement("title");
		titleElement.setText("Lucene Studing");
		// book3
		bookElement = booksElement.addElement("book");
		bookElement.addAttribute("show", "no");
		titleElement = bookElement.addElement("title");
		titleElement.setText("Lucene in Action");

		Element ownerElement = booksElement.addElement("owner");
		ownerElement.setText("O'Reilly");

		try {
			XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));
			writer.write(document);
			writer.close();
			returnValue = 1;
		} catch (Exception ex) {
			ex.printStackTrace();
		}

		return returnValue;
	}

	public static int modiXMLFile(String filename, String newfilename) {
		int returnValue = 0;
		try {
			SAXReader saxReader = new SAXReader();
			Document document = saxReader.read(new File(filename));

			List list = document.selectNodes("/books/book/@show");
			Iterator iter = list.iterator();
			while (iter.hasNext()) {
				Attribute attribute = (Attribute) iter.next();
				if (attribute.getValue().equals("yes")) {
					attribute.setValue("no");
				} else if(attribute.getValue().equals("no")) {
					attribute.setValue("yes");
				}
			}

			list = document.selectNodes("/books/owner");
			iter = list.iterator();
			if (iter.hasNext()) {
				Element ownerElement = (Element) iter.next();
				ownerElement.setText("");
				Element ne = ownerElement.addElement("name");
				ne.setText("Tshinghua");
				Element dateElement = ownerElement.addElement("date");
				dateElement.setText("2004-09-11");
				dateElement.addAttribute("type", "Gregorian calendar");
			}
 
			list = document.selectNodes("/books/book");
			iter = list.iterator();
			while (iter.hasNext()) {
				Element bookElement = (Element) iter.next();
				Iterator iterator = bookElement.elementIterator("title");
				while (iterator.hasNext()) {
					Element titleElement = (Element) iterator.next();
					if (titleElement.getText().equals("Dom4j Tutorials")) {
						bookElement.remove(titleElement);
					}
				}
			}

			try {
	 
				XMLWriter writer = new XMLWriter(new FileWriter(new File(
						newfilename)));
				writer.write(document);
				writer.close();
				returnValue = 1;
			} catch (Exception ex) {
				ex.printStackTrace();
			}

		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return returnValue;
	}

分享到:
评论

相关推荐

    dom4j常用方法

    dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用

    dom4j dom4j dom4j dom4j

    dom4j dom4j dom4j dom4j dom4j dom4j

    dom4j使用方法

    dom4j的各种用法 读取XML文件,获得document对象.解析XML形式的文本,得到document对象.

    XSD使用dom4j校验XML

    XSD使用dom4j校验XML

    dom4j-2.1.1-API文档-中英对照版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    Dom4j_使用简介

    Dom4j_使用简介DOM4J是dom4j.org出品的一个开源XML解析包,它的网站中这样定义: Dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java ...

    dom4j使用手册

    dom4j使用手册;

    DOM4J帮助文档及使用教程

    这个压缩包是一个关于DOM4J的压缩包,里面包含了DOM4J的帮助文档,DOM4J的使用教程,以及DOM4J这个JAVA包。保证这个压缩包是网上面最全的有关DOM4J的文档。

    dom4j-2.1.1-API文档-中文版.zip

    赠送jar包:dom4j-2.1.1.jar; 赠送原API文档:dom4j-2.1.1-javadoc.jar; 赠送源代码:dom4j-2.1.1-sources.jar; 赠送Maven依赖信息文件:dom4j-2.1.1.pom; 包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-...

    JavaEE源代码 dom4j-1.6.1

    JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...

    DOM4J 的使用

    详细的描述了DOM4J中对象的使用,更通过大量的例子来让你理解和掌握。

    DOM4j属性的详细介绍及相关的例子

    介绍DOM4J的主要接口的使用方法,Elementorg.dom4j.Attribute : Attribute接口定义了XML文件的属性 org.dom4j.Branch:Branch为能够包含子节点的节点如XML元素和文档定义了一个公共为 org.dom4j.CDATA : CDATA定义了...

    资源jar包dom4j-1.6.1.rar

    dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。在IBM developerWorks上面还可以...

    使用dom4j解析XML

    dom4j是一种解析XML文档的开放源代码XML框架。本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器...

    dom4j-1.6.1 与 dom4j-2.0.0-ALPHA

    dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar

    Dom4j的使用(全而好的文章)

    Dom4j的使用(全而好的文章),不看后悔哦。刚学习过,灰常好的资源。

    dom4j_dom4j1.6.1安装包_

    maven dom4j 1.6.1安装包

    DOM4J使用详解

    DOM4J使用详解包括具体的增加、删除、获取节点、属性

    dom4j-1.6.1.jar (dom4j) 欢迎下载

    dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口

Global site tag (gtag.js) - Google Analytics