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

{

Element aChild = (Element)children.get(i);

out.print(aChild.getName()+":");

out.print(aChild.getText()+"
");

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

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

{

Element aChild = (Element)children.get(i);

out.print(aChild.getName()+":");

out.print(aChild.getText()+"
");

printChildren(aChild,out);

}

}

%>

用JDOM实现数据库到XML的转换

// 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("
");

printChildren(rootElement,out);

%>

2. 写:(从Access数据库中获取字段并写入)

jdomdbtoxml.jsp

用JDOM实现数据库到XML的转换

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 文档生成完毕!");

%>

posted on 2005-11-11 14:54 bodong_chen 阅读(1052) 评论(0)  编辑  收藏 所属分类: XML

java jdomxml 换行_使用JDOM读写XML的方法相关推荐

  1. java jdom 读取xml文件_使用Jdom读取XML文件方法

    使用Jdom读取XML文件方法,学习Spring时,我们经常看到很多xml配置文件,Spring通过在配置文件中的配置,使用IOC(控制反转),从而实现代码的灵活性,本篇我就为大家介绍一种解析xml方 ...

  2. Java EasyExcel在Web网站中读写Excel的方法及示例代码

    使用EasyExcel可以更容易简单在Web网站中读写Excel,本文主要介绍在Java Web网站中读写Excel方法及示例代码. 原文地址:Java EasyExcel在Web网站中读写Excel ...

  3. pythonxml格式化_使用Python生成XML的方法实例

    本文实例讲述了使用Python生成XML的方法.分享给大家供大家参考,具体如下: 1. bookstore.py #encoding:utf-8 ''' 根据一个给定的XML Schema,使用DOM ...

  4. java jdomxml 换行_jdom处理的XML Document 和String 之间的相互转化

    packageutil;importjava.io.ByteArrayOutputStream;importjava.io.File;importjava.io.FileWriter;importja ...

  5. java stringbuilder换行_初遇Java StringBuffer 和 StringBuilder 类利用 StringBuilder 给TextView实现换行处理...

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...

  6. java 代码换行_作为一名资深的程序员,你见过哪些很想吐槽的代码

    作为一名入行很多年的老程序员肯定会见到一些让人想吐槽又想笑的代码,很多程序员说:最想吐槽的是多年以前自己写的代码,现在看着这些代码就会特别想问一句,这是什么鬼,就好想删.但是呢,有些代码咋们不得不吐槽 ...

  7. java 记事本换行_[求助]记事本自动换行

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我编的一个记事本  自动换行该如何实现 import java.io.*; import java.awt.*; import java.awt.even ...

  8. java split 换行_如何将多行字符串拆分为多行?

    使用str.splitlines(). splitlines()不同于,可以正确处理换行符split("\n"). 它也具有@efotinis提到的优点,当使用True参数调用时, ...

  9. java applet 换行_如何用java applet 画字符串,宽度大于设定值,自动换行

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 public  Vector getLinebreakNum(FontMetrics frm,String s,Font font,int maxWidt ...

  10. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

最新文章

  1. heroku能用mysql吗_heroku连接到mysql数据库
  2. python--html to pdf
  3. global.php,global.php
  4. eclipse/myeclipse中快捷键 Ctrl+shift+down/up 出现屏幕颠倒的解决方法
  5. linux 下载、安装 maven
  6. Java IO流之PrintStream分析
  7. npm设置和取消代理的方法
  8. Redis六种底层数据结构
  9. java ssh2连接_通过JCraft的jsch包基于SSH2协议实现连接linux服务器提供终端操作的java工具实现类SftpUtil...
  10. 国二计算机资料,计算机国二MS_Office高级应用资料.doc
  11. 介绍常用的无线通信技术
  12. 联通bss转cbss_携号转网山西联通经业务系统受理的首张携入号码开卡成功
  13. Java常用日志框架介绍(转载)
  14. 计算机网络期中考试题周静,zj474~093期中考试反思
  15. JavaScript斐波那契数列兔子问题
  16. python3的各种经典案例,总共299个案例,直接可以运行(中:100个案例)
  17. 开学季征文 | 百尺竿头,我们都要更进一步
  18. java对一个集合中的汉字字段根据拼音排序
  19. css文件插入背景音乐,博客园添加背景音乐,背景效果!
  20. IDEA中WEB项目结构和Artifacts设置

热门文章

  1. 联想笔记本键盘排线_联想笔记本键盘维修全过程
  2. java 光通信_超通俗易懂科普:什么是光通信?
  3. 【无标题】drv8825步进电机驱动板子原理图
  4. html在线直播ppt,PPT在HTML网页上播放方法
  5. ubuntu查看端口
  6. Windows版变色龙
  7. android listview滑动分页加载数据,android中listview分页加载数据
  8. 前端框架中的大熊猫Ember
  9. u盘文件夹被隐藏怎么恢复正常?
  10. 安卓百度离线人脸识别SDK集成