当前位置:首页 > 编程开发

Java Dom解析XML

webgou17年前 (2009-10-10)编程开发186


1、XML文件persons.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<persons>
  <person><name>jak</name><sex>男</sex></person>
  <person>
    <name>jcy</name>
    <sex>女</sex>
  </person>
</persons>

2、java解析代码如下:

 1 package net.vicp.jiasoft;
 2
 3 import javax.xml.parsers.*;
 4 import java.io.IOException;
 5 import org.xml.sax.SAXException;
 6 import org.w3c.dom.Document;
 7 import org.w3c.dom.NodeList;
 8 import org.w3c.dom.Node;
 9
10 /**
11  * <p>Title: Dom解析XML示例</p>
12  *
13  * <p>Description: Dom解析XML</p>
14  *
15  * <p>Copyright: Copyright (c) 2008</p>
16  *
17  * <p>Company: Jiasoft</p>
18  *
19  * @author Jak.Shen
20  * @version 1.0
21  */
22 public class DomXml {
23     public void parsersXml() {
24         //实例化一个文档构建器工厂
25         DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
26         try {
27             //通过文档构建器工厂获取一个文档构建器
28             DocumentBuilder db = dbf.newDocumentBuilder();
29             //通过文档通过文档构建器构建一个文档实例
30             Document doc = db.parse("persons.xml");
31             //获取所有名字为 “person” 的节点
32             NodeList nl1 = doc.getElementsByTagName("person");
33             int size1 = nl1.getLength();
34             for (int i = 0; i < size1; i++) {
35                 Node n = nl1.item(i);
36                 //获取 n 节点下所有的子节点。此处值得注意,在DOM解析时会将所有回车都视为 n 节点的子节点。
37                 NodeList nl2 = n.getChildNodes();
38                 //因为上面的原因,在此例中第一个 n 节点有 2 个子节点,而第二个 n 节点则有 5 个子节点(因为多了3个回车)。
39                 int size2 = nl2.getLength();
40                 for (int j = 0; j < size2; j++) {
41                     Node n2 = nl2.item(j);
42                     //还是因为上面的原因,故此要处判断当 n2 节点有子节点的时才输出。
43                     if (n2.hasChildNodes()) {
44                         System.out.println(n2.getNodeName() + " = " +
45                                            n2.getFirstChild().getNodeValue());
46                     }
47                 }
48             }
49         } catch (ParserConfigurationException ex) {
50             ex.printStackTrace();
51         } catch (IOException ex) {
52             ex.printStackTrace();
53         } catch (SAXException ex) {
54             ex.printStackTrace();
55         }
56     }
57
58     public static void main(String[] args) {
59         DomXml domxml = new DomXml();
60         domxml.parsersXml();
61     }
62 }

扫描二维码推送至手机访问。

版权声明:本文由知了博客发布,如需转载请注明出处。

本文链接:https://www.webgou.info/?id=32

标签: xml
分享给朋友:

“Java Dom解析XML” 的相关文章

vc串口编程

1.打开串口:在Window 95下串行口作为文件处理,使用文件操作对串行口进行处理。使用CreateFile()打开串口,CreateFile()将返回串口的句柄。HANDLE CreateFile(LPCTSTR lpFileName, // pointer to name of the fil…

WinCE5.0开发环境的建立

本文主要介绍WinCE5.0开发环境的建立过程及注意事项。        …

c++运算符优先级

1 :: 左 2 . -˃ [] () 左 3 ++ -- ~ ! - + & * () sizeof new delete castname_cast 单目操作符 右 ...…

面向对象技术在软件重用和体系结构中的应用

面向对象技术提供了一种新的认知和表示世界的思想和方法,它对计算机工业的影响是深远的。计算机从业人士利用它提出了面向对象的计算机程序设计语言、面向对象的软件设计方法、面向对象的数据库等等。同时面向对象技术为软件工业实现工程化提供了强有力的支持,正是面向对象技术造就了组件、构件、中间件等概念。 …

Windows 中不规则窗体的编程实现

一、序言 在绝大多数的Windows应用程序中,其窗体都是使用的正规正矩的矩形窗体,例如我 们常用的,“记事本”,“扫雷”,等等。矩形窗体,具有编程实现简单,风格简洁的优点,所以在普通文档应用程序和简单小游戏中使用足矣。但在某些娱乐游戏 程序中使用…

3D动画基础

顶点动画...…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。