Java載入XML檔案

來源:互聯網
上載者:User

        一個單獨的XML檔案不能做任何的工作,它需要與應用程式結合起來實現各種功能,應用程式通過XML解析器和XML應用程式介面處理XML檔案。我們現在就討論一下如何使用Java載入XML檔案並訪問其中的元素。

        為了簡化編寫處理XML的應用程式,W3C已制訂出多種編程介面,其中包含的DOM和SAX(Simple API for XML)較為典型。在Java應用程式中要需要使用JAXP(Java API for XML)建立DOM或是SAX解析器來訪問XML檔案。

        JAXP使得用Java開發處理XML資料的應用程式非常容易,JAXP包括文法分析器、標準SAX與DOM,可麼選擇以事件流或是建立對象表示來解析資料。JAXP1.1版本還支援XSLT標準,可以控制資料表表示,並可以將資料轉換成其他的XML檔案或格式,如HTML。

        JAXP提供的類和方法,可以讓Java應用程式使用DOM解析或轉換XML檔案。在JDK 1.4支援的JAXP API 1.1版支援XML。

說明

Javax.xml.parsers 提供處理XML檔案的類
Javax.xml.transform 提供處理XSLT檔案的類
org.xml.sax 這是SAX解析器,提供以事件驅動方式解析XML檔案的API
org.xml.saxheplers 提供解析錯誤處理的相關類,可以協助程式設計者使用SAX API
org.w3c.dom 提供支援DOM建議規格的包

 

 

 

 

 

         在Java中想要載入XML檔案,首先要引入與XML相關的類包

import javax.xml.parsers.*;
import org.xml.sax.*;
import org.w3c.dom.*;
import java.io.*;

        在JAXP中DOM解析器稱為DocumentBuilder,可以通過工廠類DocumentBuilderFactory獲得,而document對象則可以通過類DocumentBuild獲得,使用try catch指令建立解析錯誤處理。在建立 DocumentBuild對象後,可以使用其Parser方法解析載入XML檔案,file對象載入後就可以處理XML檔案的結點內容,程式塊的架構如下

DocumentBuilderFactor dbf = DocumentBuilderFactory.newInstance();
try ...{
  DocumentBuilder db = dbf.newDocumentBuilder();
  document = db.parser(new File(args[0]));
  .....
}
catch(SAXException se) ...{
  //解析過程錯誤
  Exception e = se;
  if (se.getException() != null) ...{
    e = se.getException();
    e.printStackTrack();
  }
}
catch(ParserConfigurationException pe) ...{
  //解析器設定錯誤
  pe.printStackTrace();
}
catch(IOException ie) ...{
  //檔案處理錯誤
  ie.printStackTrace();
}

        獲得document執行個體後,就可以對DOM的文檔樹進行訪問了,如果要遍曆DOM文檔,首先要獲得根結點,然後獲得根結點的子結點列表。

//擷取根結點
Element element = document.getDocumentElement();
//擷取根結點的子結點列表
NodeList = element.getChildNodes();

       

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.