java xml解析 学习笔记(3)――JDOM

2014-11-24 00:34:52 · 作者: · 浏览: 0

JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快。由于是第一个Java特定模型,JDOM一直得到大力推广和促进。正在考虑通过“Java规范请求JSR-102”将它最终用作“Java标准扩展”。从2000年初就已经开始了JDOM开发。

JDOM与DOM主要有两方面不同。首先,JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。

JDOM文档声明其目的是“使用20%(或更少)的精力解决80%(或更多)Java/XML问题”(根据学习曲线假定为20%)。JDOM对于大多数Java/XML应用程序来说当然是有用的,并且大多数开发者发现API比DOM容易理解得多。JDOM还包括对程序行为的相当广泛检查以防止用户做任何在XML中无意义的事。然而,它仍需要您充分理解XML以便做一些超出基本的工作(或者甚至理解某些情况下的错误)。这也许是比学习DOM或JDOM接口都更有意义的工作。

JDOM自身不包含解析器。它通常使用SAX2解析器来解析和验证输入XML文档(尽管它还可以将以前构造的DOM表示作为输入)。它包含一些转换器以将JDOM表示输出成SAX2事件流、DOM模型或XML文本文档。JDOM是在Apache许可证变体下发布的开放源码

下面给出例子简单的介绍下jdom方式解析xml文件的方法:

xml文件:first.xml,放于src目录下


  

  

    
    
      鲁B1234 
     
    
      山东省青岛市 
     
   

    
    
      鲁A1234 
     
    
      山东省济南市 
     
   

  

package Test;

import java.io.File;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;

public class MyXmlReader_jdom { 

	public static void main(String arge[]) { 
		long lasting = System.currentTimeMillis(); 
		try { 
			//创建一个SAXBudilder对象
			SAXBuilder builder = new SAXBuilder();
			//读取first.xml资源
			Document doc = builder.build(new File(src/first.xml));
			//获取根元素
			Element foo = doc.getRootElement(); 
			//获取根元素下面所有的子元素
			List
  
    allChildren = foo.getChildren(value); 
			for(int i=0;i
   
    

运行结果:

data-cke-saved-src=https://www.cppentry.com/upload_files/article/76/1_j3e2m__.png