1、XML文件persons.xml内容如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> <? 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解析代码如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 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 } 相关资源:w3c-dom.jar 包