熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

JAVA讀取xml文件中節點值

2013-11-23 19:21:32  來源: Java核心技術 

  import orgwcdom*;

  import javaxxmlparsers*;

  import javaio*;

  public class Parse{

  //Document可以看作是XML在內存中的一個鏡像那麼一旦獲取這個Document 就意味著可以通過對

  //內存的操作來實現對XML的操作首先第一步獲取XML相關的Document

  private Document doc=null;

  public void init(String xmlFile) throws Exception{

  //很明顯該類是一個單例先獲取產生DocumentBuilder工廠

  //的工廠在通過這個工廠產生一個DocumentBuilder

  //DocumentBuilder就是用來產生Document的

  DocumentBuilderFactory dbf=DocumentBuilderFactorynewInstance();

  DocumentBuilder db=dbfnewDocumentBuilder();

  //這個Document就是一個XML文件在內存中的鏡像

  doc=dbparse(new File(xmlFile));

  }

  //該方法負責把XML文件的內容顯示出來

  public void viewXML(String xmlFile) throws Exception{

  thisinit(xmlFile);

  //在xml文件裡只有一個根元素先把根元素拿出來看看

  Element element=docgetDocumentElement();

  Systemoutprintln(根元素為:+elementgetTagName());

  NodeList nodeList=docgetElementsByTagName(dbstore);

  Systemoutprintln(dbstore節點鏈的長度:+nodeListgetLength());

  Node fatherNode=em();

  Systemoutprintln(父節點為:+fatherNodegetNodeName());

  //把父節點的屬性拿出來

  NamedNodeMap attributes=fatherNodegetAttributes();

  for(int i=;i<attributesgetLength();i++){

  Node attribute=em(i);

  Systemoutprintln(dbstore的屬性名為:+attributegetNodeName()+ 相對應的屬性值為:+attributegetNodeValue());

  }

  NodeList childNodes = fatherNodegetChildNodes();

  Systemoutprintln(childNodesgetLength());

  for(int j=;j<childNodesgetLength();j++){

  Node childNode=em(j);

  //如果這個節點屬於Element 再進行取值

  if(childNode instanceof Element){

  //Systemoutprintln(子節點名為:+childNodegetNodeName()+相對應的值為+childNodegetFirstChild()getNodeValue());

  Systemoutprintln(子節點名為:+childNodegetNodeName()+相對應的值為+childNodegetFirstChild()getNodeValue());

  }

  }

  }

  public static void main(String[] args)throws Exception{

  Parse parse=new Parse();

  //我的XML文件

  parseviewXML(netctxml);

  }

  }


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26710.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.