使用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是一个Java API,它为XML文档提供了全面且高性能的处理能力,使得开发者能够方便地构建、修改和访问XML数据。 **JDom详解** 1. ...
本篇文章将详细探讨JDOM在读写XML操作中的应用。 ### 1. JDOM简介 JDOM是一个针对Java的DOM(Document Object Model)实现,旨在为Java开发者提供一个高效且灵活的方式来处理XML文档。它提供了直接在内存中构建和...
JDOM是两位著名的 Java 开发人员兼作者,Brett Mclaughlin 和 Jason Hunter 的创作成果, 2000 年初在类似于 Apache 协议的许可下,JDOM 作为一个开放源代码项目正式开始研发,JDOM 作为一个开放源代码项目正式开始...
《使用JDOM库进行XML文件的读写》 在Java编程中,处理XML文件是一项常见的任务,而JDOM(Java Document Object Model)提供了一个高效、简单且方便的方式来操作XML文档。JDOM允许开发者以面向对象的方式创建、修改...
通过以上步骤,我们便能使用JDOM库在Java中高效地读取和操作XML文件。JDOM的优势在于它提供了直观且符合Java习惯的API,使得XML处理变得更加简单。然而,对于大型XML文件,考虑到性能因素,可能需要考虑使用其他解析...
NULL 博文链接:https://wen2006953.iteye.com/blog/1769333
在Java中,有几种不同的API可以用来处理XML文档,包括DOM、SAX、JDOM和DOM4J。下面将详细介绍这四种方式。 **DOM(Document Object Model)** DOM是一种树形结构的API,它将整个XML文档加载到内存中,形成一个可...
2. **创建XML文档**:JDOM提供了多种方式来构建XML文档,例如通过`DocumentBuilder`的`newDocument()`方法创建空文档,然后逐步添加元素和属性。 3. **解析XML文件**:使用`SAXBuilder`或者`JDOMBuilder`可以解析...
本教程将详细介绍如何使用JDOM进行XML的读写操作。 首先,确保你已经将JDOM包导入到你的Java项目中。JDOM库通常包含两个主要的JAR文件:`jdom-bundle.jar`和`saxbuilder.jar`。你可以通过以下方式引入它们: ```...
Java生成XML是Java编程中常见的任务,特别是在处理数据序列化或与外部系统交换结构化信息时。本教程将深入探讨如何使用JDOM库在Java中生成...通过熟练掌握JDOM,开发者可以高效地在Java应用程序中实现XML的读写功能。
本示例将详细介绍如何使用jxl.jar库来读写Excel文件,以及如何使用jdom.jar库来读写XML文件。 首先,让我们关注`jxl.jar`库,它是一个广泛使用的Java库,允许开发者读取、写入和修改Excel文件。以下是如何使用jxl....
JDOM,全称为Java Document Object Model,是一个专为Java设计的API,用于读写XML文档。它提供了一个直观的、基于树的API,使得开发者能够轻松地创建、修改和处理XML文档。JDOM的核心类包括`Element`、`Attribute`和...
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
JDOM是一种用于处理XML的Java库,它简化了XML操作,使Java开发者能够以更为直观的方式来读写XML文档。JDOM提供了一套易于理解和使用的API,使得操作XML文档变得更加简单直接。本篇文档《JDOM使用详解及实例(解析xml)...
首先,JDOM是一个完全基于Java的API,设计用于读写XML文档。它提供了简单且直观的接口,使得XML操作变得更加便捷。JDOM的核心理念是将XML文档映射为一棵由Java对象组成的树,这棵树的根节点是`Element`,其他节点...
下面是一个简单的 JDOM 使用示例,演示如何读写 XML 文件。在这个例子中,我们有一个名为 `MyXml.xml` 的 XML 文件,包含两个书籍条目,每个条目有书名、作者、出版社、价格和出版日期等信息。为了操作这个 XML 文件...
3. **读取XML文件**: 使用SAXBuilder的`build()`方法读取XML文件,返回一个Document对象。 4. **遍历和操作XML**: 通过Document对象访问XML的各个部分,进行读取、修改或添加操作。 以下是一个简单的示例代码,演示...
通过这个示例,我们可以看到 JDOM 提供了简洁的 API 来进行 XML 的读写操作,使得开发者无需深入了解 XML 解析底层机制,就能高效地处理 XML 文档。对于初学者来说,这是一个很好的起点,可以快速上手 XML 的处理。
### Java读写XML文件的方法详解 #### 一、概述 在Java编程中,XML(Extensible Markup Language,可扩展标记语言)是一种广泛使用的数据交换格式。由于其良好的跨平台特性和自描述性,使得XML成为了许多应用程序...
总结来说,JSP实现对XML的读写涉及了XML的基本概念、DTD的用途、DOM解析XML的方法以及JDOM的使用。开发者需要理解XML的结构和语法规则,掌握DOM和JDOM的API,以便在实际项目中灵活运用,实现数据的动态管理和交换。...