关于java语言中xml的生成与解析日常处理中有4中处理方式,分别是dom,sax,jdom,dom4j.
这里若是不需要考虑他们的今生前世,就直接看下面的使用方法吧。
简单说明下jdom与dom4这两个java包。
jdom: JDOM的目的是成为 Java 特定文档模型,它简化与 XML 的交互并且比使用 DOM 实现更快。由于是第一个 Java 特定模型,JDOM 一直得到大力推广和促进。正在考虑通过“Java 规范请求 JSR-102”将它最终用作“Java 标准扩展”。
dom4:dom4 代表了完全独立的开发结果,但最初,它是 JDOM 的一种智能分支。它合并了许多超出基本 XML 文档表示的功能,包括集成的 XPath 支持、XML Schema 支持以及用于大文档或流化文档的基于事件的处理。
ps:DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML.
建议在日常的开发中选择dom4j包。
下面分别说下dom4j和jdom的使用:以下是一个createxml.java源码。
项目引用:
dom4j-1.6.1.jar包。
package org.cpop.dom4j.demo;
import java.io.FileWriter;
import java.io.IOException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class createxml {
/**
* @param args
*/
public static void main(String[] args) {
Document document=createdocument();
writeDocument(document, "d:\\dom4j.xml");
}
private static Document createdocument()
{
Document document=DocumentHelper.createDocument();
//生成一个接点
Element root = document.addElement("root");
//生成root的一个接点
Element category = root.addElement("category");
category.addAttribute("type","1");
//生产category的一个接点
Element id = category.addElement("id");
//生成id里面的参数值
id.addAttribute("name", "id");
//生成id里面的值
id.addText("1");
return document;
}
/**
* 写入xml文件地址
* @param document 所属要写入的内容
* @param outFile 文件存放的地址
*/
public static void writeDocument(Document document, String outFile){
try{
//读取文件
FileWriter fileWriter = new FileWriter(outFile);
//设置文件编码
OutputFormat xmlFormat = new OutputFormat();
xmlFormat.setEncoding("utf-8");
xmlFormat.setIndentSize(40);
//创建写文件方法
XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);
//写入文件
xmlWriter.write(document);
//关闭
xmlWriter.close();
}catch(IOException e){
System.out.println("文件没有找到");
e.printStackTrace();
}
}
}
最后生成的xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<root>
<category type="1">
<id name="id">1</id>
</category>
</root>
怎么样dom4j的用法很简单吧!
<完>
下面是使用dom4j来解析xml的方法。
以下是一个resolvexml.java源码。
项目引用:
dom4j-1.6.1.jar包。
package org.cpop.dom4j.demo;
import java.io.BufferedReader;
import java.io.FileReader;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class resolvexml {
/**
* @param args
*/
public static void main(String[] args) {
String xml=readxml();
try {
resolvexmls(xml);
} catch (DocumentException e) {
e.printStackTrace();
}
}
public static void resolvexmls(String xml) throws DocumentException
{
Document document=DocumentHelper.parseText(xml);
Element rootelement=document.getRootElement();
Element categoryelement=rootelement.element("category");
System.out.println("category的type属性值:"+categoryelement.attributeValue("type"));
Element idelement=categoryelement.element("id");
System.out.println("id的值为:"+idelement.getText());
}
//读取文件。
public static String readxml()
{
String path="d:\\dom4j.xml";
try {
FileReader fr=new FileReader(path);
BufferedReader in=new BufferedReader(fr);
String str=new String();
StringBuffer sb=new StringBuffer();
while((str=in.readLine())!=null)
{
sb.append(str);
}
return sb.toString();
} catch (Exception e) {
return "";
}
}
}
那么打印出来的结果如下:
引用
category的type属性值:1
id的值为:1
ok,至此dom4j的基本使用差不多完了,更多的复杂生成与解析,看api才是正道。
<完>
分享到:
相关推荐
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
本文将详细介绍生成和解析XML的四种主要方法:DOM、DOM4J、SAX和JDOM。 1. DOM(Document Object Model) DOM是W3C组织推荐的一种解析XML的标准方式。它将XML文档视为一个树形结构,每个节点代表XML文档的一部分。...
标签"解析XML和生成XML的必备选择"表明,DOM不仅适用于生成XML,也常用于解析XML文档。解析XML时,`DocumentBuilder`会构建一个DOM树,然后可以通过DOM API查询和修改树中的节点。 总结一下,Java DOM提供了一套...
java解析xml的四种方法的比较,还有四种方法所用到的jar包 附带程序例子 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
JDOM 是一个开源项目,基于树型结构,利用纯 Java 技术对 XML 文档实现解析、生成、序列化以及多种操作。JDOM 直接为 Java 编程服务,利用 Java 语言的诸多特性(方法重载、集合概念以及映射),把 SAX 和 DOM 的...
10. **JDOM兼容性**:这个压缩包中提到对jdom进行了封装,意味着DOM4J可能提供了一些与JDOM兼容的接口或方法,方便从JDOM迁移到DOM4J的项目。 压缩包中的`dom4j-1.6.1.jar`文件包含了DOM4J库的类和资源,可以直接在...
在IT行业中,XML(eXtensible Markup ...如果需要快速生成XML字符串,DOM4J和JDOM提供了便捷的API;而对于处理大型XML文件,SAX和StAX的低内存消耗特性更具优势。开发者可以根据项目需求选择合适的XML解析技术。
在这个资源中,我们将探讨如何利用JDom来解析XML文件,并从MySQL数据库获取数据生成XML。 首先,我们需要了解XML的基本结构和语法规则。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的标准,...
首先,DOM4J的核心库`dom4j-x.x.x.jar`是解析XML的基础,它提供了DOM、SAX和JDOM等接口的集成,允许开发者根据需求选择最适合的解析方式。DOM4J的主要功能包括: 1. **解析XML**:DOM4J支持使用DOM、SAX或StAX解析...
DOM4J是一个强大的Java XML API,它不仅提供了DOM、SAX和JDOM等接口的实现,还提供了一种更简单、更灵活的方式来处理XML文档。这篇博客()可能详细介绍了如何使用DOM4J来生成和解析XML文件,这对于处理XML文档的...
DOM4J是Java中一个非常流行的XML处理库,它提供了灵活且高效的API,使得开发者能够轻松地进行XML的解析、创建、修改等操作。在Java领域,XML常用于数据交换、配置存储以及文档生成等场景,因此理解并掌握DOM4J对于...
Java DOM4J解析XML是一种常见的处理XML文档的技术,它提供了灵活且高效的API,使得开发者能够方便地读取、写入、修改以及操作XML文件。DOM4J是Java中一个非常强大的XML处理库,它结合了DOM、SAX和JDOM的优点,同时也...
在Java中,XML的解析和生成是通过特定的库来实现的,比如JDOM和DOM4J。这两个库都是Java中处理XML的流行选择。 **JDOM** JDOM是一个纯Java的XML API,它提供了对XML文档结构的完全访问,并且设计为高性能和内存效率...
虽然JDOM提供了易用性,但它的性能可能不如其他XML解析器如DOM4J或StaX。在处理大型XML文件时,应考虑这些替代方案。 **8. 错误处理和异常安全** 在实际应用中,必须处理可能出现的异常,例如文件不存在、解析错误...
JDOM是一个专为Java设计的XML处理库,它提供了一种高效且方便的方式来读取、修改和生成XML文档。 ### JDOM解析XML的基本概念 1. **DOM(Document Object Model)**:DOM是一种树形结构,将XML文档解析为一系列的...
总结,DOM4J是Java开发中处理XML的得力工具,无论是解析还是生成XML文档,都提供了高效且灵活的解决方案。通过深入理解DOM4J的API和使用方法,开发者能够更好地管理和操作XML数据,提高项目的可维护性和灵活性。在...
本主题将详细讲解如何在Android环境中利用Java进行XML解析,并生成JDOM库的jar文件。 XML解析在Android中的重要性不言而喻,因为XML常被用来描述应用程序的配置、布局,甚至是网络通信的数据交换格式。Java提供了...
通过JDOM,开发者可以使用Java API来处理XML文档,无需了解底层的SAX或DOM解析器的工作原理。 **JDOM的基本元素** - **Document**: XML文档的根节点,代表整个XML文档。 - **Element**: 表示XML文档中的元素,它是...
### DOM、JDOM、DOM4J解析XML实例详解 #### DOM 方式解析 XML 实例解析 ##### 一、DOM 概述与应用实例 DOM(Document Object Model)是一种树状结构的标准,用于表示 XML 文档的数据结构。它将 XML 文档视为节点...
### jdom解析XML文件及将字符串解析为XML #### 一、JDOM简介与环境搭建 JDOM(Java Document Object Model)是一种用Java语言编写的轻量级API,用于处理XML文档。它允许开发者轻松地读取、创建、修改XML文档,并将...