JAXP(Java API XML Parser)

 1 // java解析xml文档最常用的有两种方法,一种是基于事件的xml简单API,称为SAX, 另外一种是基于树和节点的文档对象模型。
 2         // 1.SAX读取xml文档
 3         try {
 4             SAXParserFactory factory = SAXParserFactory.newInstance();
 5             SAXParser parser = factory.newSAXParser();
 6             // 创建事件处理器
 7             DefaultHandler dh = new DefaultHandler();
 8             // 解析xml文档
 9             parser.parse(new File(""), dh);
10         } catch (Exception e) {
11             e.printStackTrace();
12         }
13 
14         // 2.DOM对象读取xml文档
15         // 为解析xml文档创建document对象
16         try {
17             DocumentBuilderFactory factory = DocumentBuilderFactory
18                     .newInstance();
19             DocumentBuilder builder = factory.newDocumentBuilder();
20             org.w3c.dom.Document doc = builder.parse(new File(""));
21             // 初期化
22             doc.normalize();
23             // 获取节点信息
24             NodeList nodeList = doc.getElementsByTagName("name");
25 
26         } catch (Exception e) {
27             e.printStackTrace();
28         }
29         
30         //3.利用dom4j读取xml文档
31         try {
32             //creates a DOM4J tree from SAX parsing events
33             SAXReader reader = new SAXReader();
34             InputStream inputStream = Thread.currentThread()
35                     .getContextClassLoader().getResourceAsStream("config.xml");
36             Document doc = reader.read(inputStream);
37             Element root = doc.getRootElement();
38         } catch (Exception e) {
39             e.printStackTrace();
40         }
41         
42         //备注:用SAX读取xml文档要更快点,它允许用户在读取的时候对它进行处理,然而DOM对象需要在整个DOM树结构创建完了之后才能开始处理;
43         //但是DOM对象的Document对象里面的方法要比SAX解析后的Document对象里面的方法更加丰富,转换和处理的时候就更加容易了,对比2和3可一很容易看出。

 

posted @ 2010-09-04 22:33  kelin1314  阅读(833)  评论(0编辑  收藏  举报