天天看點

Java解析XML與生成XML檔案

XML是eXtensible Markup Language(可擴充标記語言)的簡寫形式,它是一種元标記語言(meta-markup language),也就是說它沒有一套能夠适用于各個領域中所有使用者的固守的标簽和元素,相反,它允許開發者根據自已的需要定義自已的元素,XML中的X(eXtensible)就是說明了這一點。

它的特點有:

1、XML使用Unicode字元集,可生成英文、中文、希臘文或梵文等多種語言。

2、可将多個來源(包括其他XML文檔和二進制檔案)彙合進一個XML文檔。

3、可利用DTD或Schema(模式)管理一緻性問題。DTD主要用于文檔型文檔,Schema主要用資料型文檔。

4、具有很好的擴充性,可定義自已的元素和屬性。

5、通過XML可從關系資料庫管理系統中提取資料到結構化文檔。它還被設計成可對各種資料對象進行操作。

6、在一個設計良好的XML應用中,XML标記不涉及文檔如何顯示,隻表示文檔的結構。

XML被設計用來存儲、支援和交換資料,而不是用來顯示資料的。通常,XML被用于資料交換,而不是資料存儲。下圖就很好的表示了xml作為電子資料交換的統一格式:

XML文檔是什麼?它有時是一個檔案,有時是關系資料庫中的一條記錄,有時是由Object Request Broker(對象請求代理程式)傳送的一個對象,有時是到達網絡接口的一個位元組流。XML文檔可使不同系統、不同平台的資料實作統一接口,這就是XML真正的威力所在。下面列舉幾個使用XML的領域:

1、文檔設計和管理,可利用XML維護公司的文檔資料。

2、Web開發,利用XHTML和XSLT實作的Web頁面擴充性更好,更容易維護。

3、資料庫應用和程式開發,可從資料庫中提取資料并生成XML文檔,實作資訊的跨平台、跨系統溝通。

4、定義其它語言,WML和WAP就是用通過XML建立的。

XML不是什麼?

1、XML隻是一種标記語言,不是一種程式設計語言。不存在一種編譯器,把XML文檔轉化成可執行二進制代碼。

2、XML不是一種網絡傳輸協定,但通過網絡協定傳輸的資料格式則可以是XML格式的。

3、XML不是資料庫,不能替代Oracle或MySQL這類的關系資料庫管理系統。

下面我們就來使用java代碼來實作對XML檔案的操作吧。

1、解析已經存在的XML檔案:

下面的xml檔案名稱為target.xml,儲存在我們的項目目錄下,

解析代碼:

裡面有我自己做的一些注釋,和簡單的使用方法。

2、如何生成一個xml檔案,也是有兩種方式:

下面是生成的xml檔案:

Tiger.xml:

Tiger1.xml:

好了,xml檔案的解析其實并不是很難,但是對于複雜的xml檔案的生成和解析,采用這種方法确實顯得有些吃力,代碼展示的而僅僅是輕量級的操作時使用即可。