*设为首页
*加入收藏
热门关键字: JAVA
>>当前位置:Java大本营>JAVA与XML>文章内容
jdom操作xml
作者: 发布时间:2007-12-19 11:23:59
JDOM是Breet Mclaughlin和Jason Hunter两大Java高手的创作成果,2000年初,JDOM作为一个开放源代码项目正式开始研发。JDOM是一种解析XML的Java工具包。

JDOM的二进制版本下载:http://www.jdom.org/downloads/index.html

把解压后的jdom.jar文件加到项目的类路径中,另外便于调试,还要下载它的源代码。

一、解析XML
要解析的XML文件:
<?xml version="1.0" encoding="gb2312"?>
<books>
   
<book email="zhoujunhui">
     
<name>rjzjh</name>
     
<price>60.0</price>
  
</book>
</books>


解析XML的java文件:
 1 package com;
 2 
 3 import java.io.IOException;
 4 import java.util.*;
 5 import org.jdom.*;
 6 import org.jdom.input.SAXBuilder; 
 7 
 8 public class Test {
 9 
10     /**
11      * @param args
12      */
13     public static void main(String[] args) {
14         SAXBuilder sb=new SAXBuilder(false);
15         Document doc = null;
16         try {
17             doc = sb.build("sample.xml");
18         } catch (JDOMException e) {
19             e.printStackTrace();
20         } catch (IOException e) {
21             e.printStackTrace();
22         } 
23         Element root=doc.getRootElement(); //获取根元素
24         List list=root.getChildren("book");//取名字为book的所有元素
25         for(int i=0;i<list.size();i++){
26             Element element=(Element)list.get(i);
27             String email=element.getAttributeValue("email");
28             String name=element.getChildText("name");
29             String price=element.getChildText("price");
30             System.out.println("name:"+name);
31             System.out.println("price:"+price);
32             System.out.println("email:"+email);
33         }
34     }
35 }
36 
37 

解释代码
引用的类:
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
//下面是引用到JDOM中的类
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
(1)使用JDOM首先要指定使用什么解析器。如:
        SAXBuilder builder=new SAXBuilder(false); 这表示使用的是默认的解析器
(2)得到Document,我们以后要进行的所有操作都是对这个Document操作的:
        Document doc=builder.build(xmlpath);
(3)得到根元素:
        Element books=doc.getRootElement();
在JDOM中所有的节点(DOM中的概念)都是一个org.jdom.Element类,当然他的子节点也是一个org.jdom.Element类。
(4)得到元素(节点)的集合:
      List booklist=books.getChildren("book");
这表示得到“books”元素的所在名称为“book”的元素,并把这些元素都放到一个List集合中
(5)轮循List集合
     for (Iterator iter = booklist.iterator(); iter.hasNext();) {
       Element book = (Element) iter.next();
    }
还有一种轮循方法是:
共2页: 上一页 1 [2] 下一页

·Java中四种XML解析技术(05-21)
·XML解析技术 (03-20)
·java中用dom解析xml(02-02)
·如何用Java实现基于XML的购物车 (01-21)
·JavaBeans至XML的相互转换 (01-20)
·XML: XSL (01-19)
·xml的转换之pdf (xml+xsl 2 pdf) (01-09)
·XML安全相关 (01-09)
·xml的转换之html (01-09)
·XMLHttpRequest and jsp servlet (12-26)
·用Spring的Resource管理SQL的XML配置文(12-22)
·使用Java解析XML文件之JDOM (12-20)
复制地址发给您的好友: [推荐文章] [返回顶部] [关闭窗口]
版权所有 Java大本营 1999-2007 转载请注明出处