使用Java解析XML文件(二) DOM4J篇

Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT解析。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。官方网址:http://www.dom4j.org/。

Dom4J在很多方面拥有更强大的功能,鼎鼎有名的Hibernate也使用它来做XML配置文件的解析。

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentException;
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 DOMCreator ...{

  public static void main(String[] args) throws IOException, DocumentException ...{

    Document table = DocumentHelper.createDocument();
    Element root = table.addElement(Constants.DATA_TABLE);
    Element row = root.addElement(Constants.DATA_ROW);
    Element item = row.addElement(Constants.DATA_ITEM);
    item.addText("data");

    OutputFormat format = OutputFormat.createPrettyPrint();
    FileWriter writer = new FileWriter("dom4j.xml");
    XMLWriter outputter = new XMLWriter(writer, format);
    outputter.write(table);
    outputter.close();

    SAXReader reader = new SAXReader();
    Document document = reader.read("dom4j.xml");
    XMLWriter domstream = new XMLWriter(System.out, format);
    domstream.write(document);
    domstream.close();
  }
}

常量声明文件:

public interface Constants ...{

  public static String DATA_TABLE = "Table";
  public static String DATA_ROW = "Row";
  public static String DATA_ITEM = "Item";
}

dom4j的详细介绍可参阅:http://xhy0422.javaeye.com/blog/50235

示例可参阅http://blog.csdn.net/yedian/archive/2007/12/19/1954194.aspx

时间: 2024-12-20 18:30:05

使用Java解析XML文件(二) DOM4J篇的相关文章

java解析xml文件多个线程同时访问时内存溢出

问题描述 java解析xml文件多个线程同时访问时内存溢出,代码如下:解析的xml文件大小大概2M-10M,该怎么解决呢? String sourceFile = ConfigReader.get("data.store.path") + article.getSourceFile();org.dom4j.Document document = null;FileInputStream fin = null;try {fin = new FileInputStream(new File

java解析xml文件中数据,数据之间用0x2588做分隔符,怎么解析

问题描述 java解析xml文件中数据,数据之间用0x2588做分隔符,怎么解析 java解析xml文件中数据,数据之间用0x2588做分隔符,0x2588做分隔符分隔符问题,这个0x2588的分隔符怎么处理 解决方案 xml字符串.split((char)(0x2588)) 解决方案二: 我试试 ,谢谢好心人,谢谢你抽出时间 谢谢

java 解析xml文件-在JAVA中解析XML文件时遇上难题,向各位大虾求助。

问题描述 在JAVA中解析XML文件时遇上难题,向各位大虾求助. 在服务器进程中编写登录时出现以下错误提示: Exception in thread "Thread-0" java.lang.ClassCastException: com.sun.org.apache.xerces.internal.dom.DeferredDocumentImpl cannot be cast to javax.swing.text.Document at server.ServerThread.Lo

使用Java解析XML文件(一) JDOM篇

JDOM是一种解析XML的Java工具包,官方地址:http://www.jdom.org/,目前版本为1.1. 尽管JDOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出 ,但是他API比较简单,容易上手. import java.io.File; import java.io.FileWriter; import java.io.IOException; import org.jdom.Document; import org.jdom.Element; import org.jdo

Java解析XML文件的四种方法

1)DOM(JAXP Crimson解析器)     DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不是像

Java解析XML(二)、DOM

XML资源文件请见http://blog.csdn.net/xyang81/article/details/7247169 package xml; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import java.io.Writer; import

java 解析 xml文件

xml 如果xml文件里含有中文,需要加上<?xml version="1.0" encoding="GB2312"?>才可以解析for instance: a XML file like this:<动作>   <插入 目标结点编号="001" 插入方式="5">      <插入项 属性名="名称" 值="中国"/>      <

java读取解析xml文件实例_java

读取本地的xml文件,通过DOM进行解析,DOM解析的特点就是把整个xml文件装载入内存中,形成一颗DOM树形结构,树结构是方便遍历和和操纵. DOM解析的特性就是读取xml文件转换为 dom树形结构,通过节点进行遍历. 这是W3c关于节点的概念 如果xml中包含有大量的数据,由于dom一次性把xml装入内存中的特性,所以dom不适合于包含大量数据的xml解析.当包含有大量xml的时候,用SAX进行解析比较节省内存. 下面是一个运用DOM进行解析xml文件的例子: xml文件结构如下: <?xm

Android 解析XML 文件的四种方法总结_Android

java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以