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

Java Dom解析XML

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


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” 的相关文章

vs2005运行tcpmp遇到"SignTool Error: No certificates were found that met all the given criteria."

"SignTool Error: No certificates were found that met all the given criteria."…

Mac OS X 下修改网卡地址和抵御 ARP 攻击

用 Mac 系统有一段时间了,这里记录一下自己遇到的需要终端命令解决的问题。网络环境绑定了原先机器的 MAC 地址,由于特殊原因,先把新机器的网卡地址改成原先那台。在终端输入sudo ifconfig en0 ether 00:00:00:00:00:00其中 en0 是你的第一块网卡(以太网卡,非…

Android创建sdcard详细图解

Android创建sdcard步骤一、cmd进入tools目录输入mksdcard -l mycard 100M F:\mysdcard.img 1. mycard命令可以使用三种尺寸:字节、K和M。如果只使用数字,表示字节。后面还可以跟K,如262144K,也表示256M。2. mycard建立的…

Android滑动手势侦测方法介绍

在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍的方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。Android SDK提供了一个listener类来侦测各种不同的手势:SimpleOnGest…

ubuntu android 2.2 编译,安装jdk1.5

android 2.2 编译,需要jdk1.5。安装jdk1.5的方法:1.oracle 下载jdk-1_5_0_22 linux-amd64.bin    我下载的目录是在:/home/pos/Downloads2.安装:.sudo ./jdk-1_5_0_22-li…

CoreDll.dll所包含的API

方法一: 装了platform   builder之后,到这里去找:   D:\WINCE500\PRIVATE\WINCEOS\COREOS\CORE\DLL\coredll.def 方法二: 1.你首先找到coredll.dll   然后找到dumpbin.exe…

发表评论

访客

看不清,换一张

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