2009年4月18日星期六

JDOM解析XML方法小结

【按:JDOM是解析XML的JAVA工具包,但是无法处理大文件,超过上百兆的XML最好用SAX来解析。虽然最终选择了古老的SAX方法,但JDOM的简便也给我留下了深刻的印象,特将调研和编码过程中的心得整理出来。】

// jdom处理XML,page是主要节点,包含id、name等子节点

import java.io.*;
import java.util.*;
import org.jdom.*;
import org.jdom.input.SAXBuilder;

public class JdomReader {
  public static void main(String[] args) throws IOException, JDOMException
  {

    String filename = "D:/test.xml";

    SAXBuilder builder = new SAXBuilder();
    Document doc = builder.build(new File(filename));

    // 取根节点
    Element root = doc.getRootElement();

    List list = root.getChildren();
    System.out.println("节点个数为:" + list.size());

    Iterator i = list.iterator();
    while (i.hasNext()) {
      Element page = (Element) i.next();

      // 取page的子节点,涉及到复杂的名字空间
      System.out.println(page.getChild("id", page.getNamespace()).getText());//.getName());//
      System.out.println(page.getChild("name", page.getNamespace()).getText());
    }
  }
}

-----------------
相关资料:
[1] JDOM官网(包括下载与文档). http://www.jdom.org/index.html
[2] JDOM使用详解及实例. http://blog.sina.com.cn/s/blog_4b4cb0690100094a.html
[3] java解析xml(jdom). http://hi.baidu.com/sunxiangwei/blog/item/6a0a3ff36d04c657352accf1.html
[4] 百度百科-JDOM介绍及使用指南. http://baike.baidu.com/view/1569983.htm
[5] jdom例子程序. http://hi.baidu.com/feiyuyitiao/blog/item/861ab32bc7bdb2fbe6cd40d9.html
[6] jdom实例-利用jdom读取xml文件实例代码. http://www.zxbc.cn/html/20071129/29876.html
[7] java解析xml文件四种方式. http://blog.163.com/howl_prowler/blog/static/266197152008426111858717/

3 条评论: