JSP針對XML檔案操作技巧例項分析

2022-10-06 07:03:13 字數 1647 閱讀 7542

xml(extensible markup   language)可擴充套件標記語言,這個基礎知識在早些已經學習過。而這篇教程為什麼把它放在j2ee下邊呢,因為他也是j2ee的13規範之一,雖然xml是w3c全球資訊網組織聯盟指定的,並做了規範,所以說也是一種規範,我們也必須按照規範來,和jdbc,servlet,jsp,ejb等一樣的。

前邊的文章已經介紹了xml的一些基礎知識,主要是用來儲存,傳輸資料的,但是這些資料我們怎麼得到呢,也就是說怎麼來解析xml呢?這裡總結一下。

首先解析xml檔案一般有兩種方式:dom解析和sax解析,首先看一下兩者的概念和基礎知識:

一,原理:

dom解析:在程式開始執行的時候,先將整個xml檔案載入到記憶體中,在記憶體中形成一棵dom樹,然後通過某種程式語言對這顆樹上的任意節點進行增刪改查操作。

sax解析:基於事件驅動型的解析方式。解析是有順序的,順序遵守:從左到右,從上到下。

基於事件驅動型的解析方式不需要將xml檔案全部載入到記憶體中,所以這種方式不會耗費大量的記憶體,

只不過解析過去的節點不能再次解析,不夠靈活,如果還想解析,只能再次從xml檔案頭vsfcx開始。

二,兩者的優缺點:

dom解析:優點:靈活。因為整個樹都在記憶體中,我們隨時隨地都可以對某個節點操作,解析過去的節點還可以再次解析,比較靈活。

缺點:如果xml檔案很大,則會耗費大量的記憶體,因為這個xml檔案很大,而需要訪問

的節點又很少。

總結: 所以xml檔案較小、需要解析的節點較多,這樣才值得使用dom解析。

sax解析:優點:不會耗費大量的記憶體。

缺點:不靈活(我們可以使用另外乙個技術xpath,使用它可以在xml檔案中快速定位要

解析的節點)。

總結:有了xpath技術,sax解析方式成為我們常用的。

三,在j**a中,j**a的jdk提供了關於程式設計客棧xml的解析:org.w3c.dom.*,這是sun對w3c規範的實現。但是效率,不夠高。所以我們經常使用第vsfcx三方元件vsfcx,例如dom4j等,效率相對來說較高一些。

四,好,我們來看一下例項吧:vsfcx

1,利用j**a中的jdk提供的,來進行解析讀xml檔案:來看兩篇部落格寫的很詳細的:j**a dom解析,j**a sax解析。

2,這裡寫一下,利用dom4j的解析方法,其實很相同,只不過我感覺dom4j的方法名,屬性名可能更容易使用:

a, 讀xml檔案(以下是基於sax解析方式):

public static void main(string args) throws exception

b,寫檔案,就是從上向下的了,我們dom4j中的dom解析的方式:

public static void main(string args) throws exception

最後寫成的檔案:

<?xml version="1.0" encoding="gb18030"?>

數學專業書籍》

書 id="110">

書名》張三

書 id="110">

書名》張三

綜上,為xml解析的簡單總結,當然實際中會遇到非常複雜的xml檔案,我們可以自己來試著寫這些解析他們的檔案,當然也可以使用人家寫好的,這裡只是為了多學習,理解它們的本質。

本文標題: jsp針對xml檔案操作技巧例項分析

本文位址:

jsp檔案操作

一 file類 建立檔案 file string directorypath file string directorypath,string filename file file dirobj,string filename 1 獲取檔案的屬性 2 目錄 目錄是乙個包含其他檔案和路徑列表的file...

操作XML檔案

1 操作xml檔案的類庫位於system.xml命名空間下 xmlnode 是乙個抽象類,代表乙個節點。其中document,element,attribute,text 等都是特定的節點型別。注意其實現的幾個介面。xmlnodelist是乙個比較有用的集合類 xmldocument 代表乙個dom...

Xml檔案操作

using system using system.text using system.xml class xmloperate private void readxmlfile string filename private void addelement xmldocument xmldocum...