学习使用dom4j中,找了网络上的例子开始遇到些问题
1 载了dom4j.zip下来,一般要引入两个jar包,一个自然是dom4j-1.6.1.jar,另外一个是jaxen-1.1-beta-6.jar,不引的话会报一个java.lang.NoClassDefFoundError: org/jaxen/JaxenException
2 网络上找的这个例子简单明了,不过有个中文问题,研究了一下解决了
java 代码
- package util;
-
- import java.io.*;
- import java.util.*;
- import org.dom4j.*;
- import org.dom4j.io.*;
-
- public class Xmldo {
- public static void main(String[] args) {
-
- createXMLFile("E:/1.xml");
- formatXMLFile("E:/1.xml");
- }
- public static void getTestXML(){
-
- }
- 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");
-
- Element bookElement = booksElement.addElement("book");
-
- bookElement.addAttribute("show","yes");
-
- Element titleElement = bookElement.addElement("title");
-
- titleElement.setText("Dom4j Tutorials");
-
- bookElement = booksElement.addElement("book");
- bookElement.addAttribute("show","yes");
- titleElement = bookElement.addElement("title");
- titleElement.setText("Lucene Studing");
- 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");
- document.setXMLEncoding("UTF-8");
- try{
-
-
-
-
- XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(filename),"UTF-8"));
- writer.write(document);
- writer.close();
-
- returnValue = 1;
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return returnValue;
- }
-
-
-
-
-
-
-
- public 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");
- }
- }
-
-
-
-
- list = document.selectNodes("/books/owner" );
- iter = list.iterator();
- if(iter.hasNext()){
- Element ownerElement = (Element)iter.next();
- ownerElement.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 OutputStreamWriter(new FileOutputStream(newfilename),"UTF-8"));
- writer.write(document);
- writer.close();
-
- returnValue = 1;
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return returnValue;
- }
-
-
-
-
-
- public static int formatXMLFile(String filename){
- int returnValue = 0;
- try{
- SAXReader saxReader = new SAXReader();
-
- Document document = saxReader.read(new File(filename));
-
- XMLWriter writer = null;
-
- OutputFormat format = OutputFormat.createPrettyPrint();
-
- format.setEncoding("UTF-8");
-
-
- OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream(filename),"UTF-8");
- writer= new XMLWriter(osw,format);
-
- writer.write(document);
- writer.close();
-
- returnValue = 1;
- }catch(Exception ex){
- ex.printStackTrace();
- }
- return returnValue;
- }
- }
分享到:
相关推荐
标签:dom4j、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.dom4j:dom4j:2.1.1; 标签:dom4j、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
**DOM4J中文API**是Java开发者常用的XML处理库,它提供了一套强大的API来操作XML文档。DOM4J是一个非常灵活的开源Java XML API,它涵盖了DOM、SAX和JDOM等接口,并且提供了很多高级特性,如XPath查询、XML Schema...
【DOM4J编码问题彻底解决】 DOM4J是一个流行的Java XML API,它提供了灵活和强大的方式来处理XML文档。在处理XML文档时,编码问题是一个常见的挑战,特别是当涉及到读取、写入或转换XML文件时。本文主要讨论了如何...
dom4j 编译好的中文版,例子详细,简单易懂
**DOM4J中文版教程详解** DOM4J是Java领域中一个非常强大的XML处理库,它提供了丰富的API来处理XML文档,包括解析、创建、修改和查询XML文档。本教程将深入探讨DOM4J的核心概念和实用技巧,帮助开发者更好地理解和...
dom4j官方api文档,自己改为chm格式,方便大家开发学习.分享我们需要的东西!
dom4j 1.6.1 API,dom4j是一个优秀的xml解析工具包
6. **中文教程**:`Dom4j使用简介.pdf`提供了中文版的DOM4J使用指南,对于初学者或者英语不太熟练的开发者来说,这是一个极好的学习资源,能够帮助他们快速上手DOM4J。 通过这些资源,开发者可以深入了解和掌握DOM4...
本文将深入探讨如何使用Dom4j解析XML以及解决中文乱码的问题。 首先,让我们了解Dom4j的基本用法。在解析XML文件时,通常会使用`DocumentBuilderFactory`和`DocumentBuilder`来创建一个`Document`对象,然后通过这...
**Dom4j详解** Dom4j是一个开源的Java库,专为XML处理设计,包括文档对象模型(DOM),简单API for XML(SAX)以及事件驱动的XML解析器(StAX)。它提供了一种灵活的方式来处理XML文档,适用于文档创建、读取、更新...
**DOM4J 1.6.1 API及源代码中文版详解** DOM4J是一个非常优秀的Java XML API,它提供了全面而强大的XML处理功能,包括读取、创建、修改和查询XML文档。这个压缩包“dom4j-1.6.1-API+源代码-中文版.rar”包含了DOM4J...
DOM4J 1.6.1.jar 和 dom4j.api 是两个与XML处理密切相关的库,主要用于解析、操作和生成XML文档。在这个压缩包中,我们有两个关键组件: 1. **DOM4J 1.6.1.jar**: DOM4J 是一个流行的Java库,它提供了对XML文档的...
此包有以下资源: dom4j API DOM4J 使用简介 dom4j(Version 1[1].6.1)快速入门 Matrix - 与 Java 共舞 - Dom4j 编码问题彻底解决 使用 dom4j 解析 XML
**DOM4J中文帮助文档详解** DOM4J是一款强大的Java XML API,它提供了一套灵活且功能丰富的处理XML文档的工具。DOM4J是基于Java集合框架构建的,因此对于熟悉Java的开发者来说,它的使用非常直观。在这个文档中,...
DOM4J中文帮助文档是一份宝贵的资源,尤其对于初学者或者那些正在寻找快速理解和应用DOM4J的人来说,它能提供详细的指导和实例。 首先,DOM4J的核心概念是Document对象,它代表整个XML文档。通过DOM4J,你可以使用...
**dom4j API 帮助文档** **一、dom4j 概述** dom4j 是一个开源的 Java XML 库,它提供了一种高效、灵活的方式来处理 XML 文档。dom4j 提供了丰富的 API,使得开发人员能够轻松地进行 XML 的解析、创建、修改和查询...
然而,在使用 Dom4J 输出 XML 文档时,中文字符可能会出现乱码问题。这是因为 Dom4J 的默认编码方式可能不支持中文字符。解决这个问题的方法是将输出编码方式设置为 UTF-8。 设置输出编码方式 ------------------ ...
本系列的第四部分主要针对Java程序员,详细讲解了如何利用DOM4J进行XML的读取、写入、修改以及查询等操作。下面将详细介绍DOM4J的相关知识点。 首先,DOM4J的全称是Document Object Model for Java,它是一个开源...
dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support for DOM, SAX and JAXP.