JAVA讀取xml文件
- package com;
- import org.w3c.dom.*;
- import javax.xml.parsers.*;
- import java.io.*;
- public class Parse{
- //Document可以看作是XML在內(nèi)存中的一個(gè)鏡像,那么一旦獲取這個(gè)Document 就意味著可以通過對(duì)
- //內(nèi)存的操作來實(shí)現(xiàn)對(duì)XML的操作,首先第一步獲取XML相關(guān)的Document
- private Document doc=null;
- public void init(String xmlFile) throws Exception{
- //很明顯該類是一個(gè)單例,先獲取產(chǎn)生DocumentBuilder工廠
- //的工廠,在通過這個(gè)工廠產(chǎn)生一個(gè)DocumentBuilder,
- //DocumentBuilder就是用來產(chǎn)生Document的
- DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
- DocumentBuilder db=dbf.newDocumentBuilder();
- //這個(gè)Document就是一個(gè)XML文件在內(nèi)存中的鏡像
- doc=db.parse(new File(xmlFile));
- }
- //該方法負(fù)責(zé)把XML文件的內(nèi)容顯示出來
- public void viewXML(String xmlFile) throws Exception{
- this.init(xmlFile);
- //在xml文件里,只有一個(gè)根元素,先把根元素拿出來看看
- Element element=doc.getDocumentElement();
- System.out.println("根元素為:"+element.getTagName());
- NodeList nodeList=doc.getElementsByTagName("dbstore");
- System.out.println("dbstore節(jié)點(diǎn)鏈的長(zhǎng)度:"+nodeList.getLength());
- Node fatherNode=nodeList.item(0);
- System.out.println("父節(jié)點(diǎn)為:"+fatherNode.getNodeName());
- //把父節(jié)點(diǎn)的屬性拿出來
- NamedNodeMap attributes=fatherNode.getAttributes();
- for(int i=0;i<attributes.getLength();i++){
- Node attribute=attributes.item(i);
- System.out.println("dbstore的屬性名為:"+attribute.getNodeName()+" 相對(duì)應(yīng)的屬性值為:"+attribute.getNodeValue());
- }
- NodeList childNodes = fatherNode.getChildNodes();
- System.out.println(childNodes.getLength());
- for(int j=0;j<childNodes.getLength();j++){
- Node childNode=childNodes.item(j);
- //如果這個(gè)節(jié)點(diǎn)屬于Element ,再進(jìn)行取值
- if(childNode instanceof Element){
- //System.out.println("子節(jié)點(diǎn)名為:"+childNode.getNodeName()+"相對(duì)應(yīng)的值為"+childNode.getFirstChild().getNodeValue());
- System.out.println("子節(jié)點(diǎn)名為:"+childNode.getNodeName()+"相對(duì)應(yīng)的值為"+childNode.getFirstChild().getNodeValue());
- }
- }
- }
- public static void main(String[] args)throws Exception{
- Parse parse=new Parse();
- //我的XML文件
- parse.viewXML("netct.xml");
- }
- }
posted on 2009-06-23 09:12 找個(gè)美女做老婆 閱讀(225) 評(píng)論(0) 編輯 收藏