`
sunbin
  • 浏览: 354479 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用JDOM读写XML的方法(来自在路上blog)

    博客分类:
  • xml
阅读更多

 

使用JDOM读写XML的方法(来自在路上blog)
使用JDOM读写XML的方法:

1. 读
读XML有多种方法.最基本的方法如下:
<1>用SAXBuilder类构造一个实例,并创建一个文件:
// Build the document with SAX and Xerces, no validation
SAXBuilder builder = new SAXBuilder();
// Create the document
Document doc = builder.build(new File("d:\\data.xml");
<2>调用Element类中的众多方法获取信息:
一下是在JSP中递归获取XML文件中的元素的基本信息的函数:
public void printChildren(Element parentElement,JspWriter out) throws java.io.IOException
{
    List children = parentElement.getChildren();
if(children==null || children.size()==0)
return;
for(int i=0 ; i<children.size(); i++)
{
Element aChild = (Element)children.get(i);
out.print(aChild.getName()+":";
out.print(aChild.getText()+"<br>";
printChildren(aChild,out);
}
}
上例用到了getChildren(),getName(),getText()三个方法。更多的方法参见doc文档。

2. 写
<1> 创建文档
Document document=new Document(new Element("name of the root Element");//调用的是new Document(Element rootElement)的构造函数。
说明:
Document类:Document defines behavior for an XML Document,定义了文件级的各种操作。
Element类:Attribute defines behavior for an XML attribute。

<2>逐个逐层写入element
Element chileElement=new Element("name of a child Element";  //创建元素 生成JDOM树
document.getRootElement().addContent(chileElement);
说明:
这个过程主要调用了Element类的addContent(Element anElement)方法。

<3>输出成XML文件
XMLOutputter outp = new XMLOutputter();
outp.output(document, new FileOutputStream("d:\\data.xml"); //输出XML文档
说明:
这种方法得到的XML的格式很不好看,要得到层次明显的XML,可采用如下方法:
a. XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat()); //利用Format类

b. XMLOutputter outputter = new XMLOutputter("", false);//第一个参数代表缩进方式,第二个参数代表是否换行。

c. XMLOutputter outp = new XMLOutputter("",true,"GB2312";//支持中文的带换行和缩进的格式
outp.setTextTrim(true);
outp.output(doc, System.out);


附:读写XML的例程:
1. 读:jdomreadxml.jsp
<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.util.List,java.sql.*,java.io.*,org.jdom.*,org.jdom.output.*,org.jdom.input.*"%>
<%!
public void printChildren(Element parentElement,JspWriter out) throws java.io.IOException
{
    List children = parentElement.getChildren();
if(children==null || children.size()==0)
return;
for(int i=0 ; i<children.size(); i++)
{
Element aChild = (Element)children.get(i);
out.print(aChild.getName()+":";
out.print(aChild.getText()+"<br>";
printChildren(aChild,out);
}
}
%>
<HTML>
<HEAD>
<TITLE>用JDOM实现数据库到XML的转换</TITLE>
</HEAD>
<BODY>
<%
// Build the document with SAX and Xerces, no validation
SAXBuilder builder = new SAXBuilder();
// Create the document
Document doc = builder.build(new File("d:\\data.xml");
Element rootElement = doc.getRootElement();
out.print("Elements go here:";
out.print("<br>";
printChildren(rootElement,out);
%>
</BODY>
</HTML>

2. 写:(从Access数据库中获取字段并写入)
jdomdbtoxml.jsp
<%@page contentType="text/html;charset=GBK"%>
<%@page import="java.sql.*,java.io.*,org.jdom.*,org.jdom.output.*"%>
<HTML>
<HEAD>
<TITLE>用JDOM实现数据库到XML的转换</TITLE>
</HEAD>
<BODY>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver";
java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:odbc:students";
java.sql.Statement stmt = conn.createStatement();
String sql="select * from student";   //定义查询的SQL语句
ResultSet rs=stmt.executeQuery(sql);   //执行查询
Document document=new Document(new Element("student_list");//创建文档
java.sql.ResultSetMetaData rsmd = rs.getMetaData();  //获取字段名
int numberOfColumns = rsmd.getColumnCount(); //获取字段数
int i=0;
while(rs.next()){ //将查询结果取出
    Element element0=new Element("student";  //创建元素 生成JDOM树
    document.getRootElement().addContent(element0);
    for (i=1; i<=numberOfColumns;i++)
{
String date=new String(rs.getString(i)); //代码转换
Element element=new Element(rsmd.getColumnName(i)).setText(date);
element0.addContent(element);
}
}
rs.close();                            //关闭结果集
stmt.close();                       //关闭statement
conn.close();                      //关闭连接

XMLOutputter outp = new XMLOutputter(Format.getPrettyFormat());
outp.output(document, new FileOutputStream("d:\\data.xml"); //输出XML文档
out.print("XML 文档生成完毕!";
%>
</BODY>
</HTML>


以上内容来自http://www.blogcn.com/user34/dirkchen/blog/26117394.html非常感谢!

 

分享到:
评论

相关推荐

    JDom 读写XML

    标题“JDom 读写XML”指的是使用JDom库进行XML文档的处理,包括读取和写入操作。JDom是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...

    jdom读写xml说明

    本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...

    jdom读写xml代码

    JDOM是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于 Apache 协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始...

    jdom读写自定义XML

    《使用JDOM库进行XML文件的读写》 在Java编程中,处理XML文件是一项常见的任务,而JDOM(Java Document Object Model)提供了一个高效、简单且方便的方式来操作XML文档。JDOM允许开发者以面向对象的方式创建、修改...

    java利用jdom读取xml文件

    通过以上步骤,我们便能使用JDOM库在Java中高效地读取和操作XML文件。JDOM的优势在于它提供了直观且符合Java习惯的API,使得XML处理变得更加简单。然而,对于大型XML文件,考虑到性能因素,可能需要考虑使用其他解析...

    jdom读写XML

    NULL 博文链接:https://wen2006953.iteye.com/blog/1769333

    DOM、SAX、JDOM、DOM4J读写xml文档

    在Java中,有几种不同的API可以用来处理XML文档,包括DOM、SAX、JDOM和DOM4J。下面将详细介绍这四种方式。 **DOM(Document Object Model)** DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个可...

    JDOM解析本地XML

    2. **创建XML文档**:JDOM提供了多种方式来构建XML文档,例如通过`DocumentBuilder`的`newDocument()`方法创建空文档,然后逐步添加元素和属性。 3. **解析XML文件**:使用`SAXBuilder`或者`JDOMBuilder`可以解析...

    JAVA_xml读写(jdom包)

    本教程将详细介绍如何使用JDOM进行XML的读写操作。 首先,确保你已经将JDOM包导入到你的Java项目中。JDOM库通常包含两个主要的JAR文件:`jdom-bundle.jar`和`saxbuilder.jar`。你可以通过以下方式引入它们: ```...

    Java生成xml(jdom)

    Java生成XML是Java编程中常见的任务,特别是在处理数据序列化或与外部系统交换结构化信息时。本教程将深入探讨如何使用JDOM库在Java中生成...通过熟练掌握JDOM,开发者可以高效地在Java应用程序中实现XML的读写功能。

    java中jxl.jar读写excel和jdom.jar读写xml的例子

    本示例将详细介绍如何使用jxl.jar库来读写Excel文件,以及如何使用jdom.jar库来读写XML文件。 首先,让我们关注`jxl.jar`库,它是一个广泛使用的Java库,允许开发者读取、写入和修改Excel文件。以下是如何使用jxl....

    jdom-test-1.1.zip_Java Test_java 操作xml_jdom_jdom xml_xml java jd

    JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地创建、修改和处理XML文档。JDOM的核心类包括`Element`、`Attribute`和...

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。下载地址 .txt

    dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...

    JDOM使用详解及实例(解析xml).pdf

    JDOM是一种用于处理XML的Java库,它简化了XML操作,使Java开发者能够以更为直观的方式来读写XML文档。JDOM提供了一套易于理解和使用的API,使得操作XML文档变得更加简单直接。本篇文档《JDOM使用详解及实例(解析xml)...

    用jdom解析xml源码下载

    首先,JDOM是一个完全基于Java的API,设计用于读写XML文档。它提供了简单且直观的接口,使得XML操作变得更加便捷。JDOM的核心理念是将XML文档映射为一棵由Java对象组成的树,这棵树的根节点是`Element`,其他节点...

    JDOM操作XML文件.doc

    下面是一个简单的 JDOM 使用示例,演示如何读写 XML 文件。在这个例子中,我们有一个名为 `MyXml.xml` 的 XML 文件,包含两个书籍条目,每个条目有书名、作者、出版社、价格和出版日期等信息。为了操作这个 XML 文件...

    Jdom解析xml文件

    3. **读取XML文件**: 使用SAXBuilder的`build()`方法读取XML文件,返回一个Document对象。 4. **遍历和操作XML**: 通过Document对象访问XML的各个部分,进行读取、修改或添加操作。 以下是一个简单的示例代码,演示...

    jdom操作xml的文档

    通过这个示例,我们可以看到 JDOM 提供了简洁的 API 来进行 XML 的读写操作,使得开发者无需深入了解 XML 解析底层机制,就能高效地处理 XML 文档。对于初学者来说,这是一个很好的起点,可以快速上手 XML 的处理。

    java读写xml文件的方法

    ### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...

    JSP实现对XML读写

    总结来说,JSP实现对XML的读写涉及了XML的基本概念、DTD的用途、DOM解析XML的方法以及JDOM的使用。开发者需要理解XML的结构和语法规则,掌握DOM和JDOM的API,以便在实际项目中灵活运用,实现数据的动态管理和交换。...

Global site tag (gtag.js) - Google Analytics