Dom解析xml檔案

2021-10-13 18:56:37 字數 3042 閱讀 3267

xml指可擴充套件標記語言

xml的設計宗旨是傳輸儲存資料

xml文件樹結構

xml文件形成了一種樹結構,它從「根部」開始,然後擴充套件到枝葉

利用dom規範,能夠實現dom 文件和xml之間的相互轉換,遍歷、操作相應dom文件的內容

dom規範的核心就是樹模型

dom解析xml的步驟:

1.// 獲得解析器工廠物件

documentbuilde***ctory factory = documentbuilde***ctory.newinstance();

2. // 通過解析器工廠物件新建乙個文件解析器

documentbuilder builder = factory.newdocumentbuilder();

3.// 通過解析器解析xml檔案,在記憶體中形成文件樹(節點樹)

// dom 適合於解析 xml 檔案小,簡單

document doc = builder.parse(filename);

4.// 根據標籤名獲得所有的 book 節點

nodelist nodelist = doc.getelementsbytagname(「book」);解析過程:

5.遍歷節點集合 獲取每個節點元素

for (int i = 0; i < nodelist.getlength(); i++) {

element element = (element) nodelist.item(i);

獲取節點的屬性 element.getattribute(屬性名)

6.獲取子節點的值

屬性名稱 = doc.getelementsbytagname(「title」).item(i).getfirstchild().getnodevalue();

"1001"

>

紅樓夢<

/bookname>

曹雪芹<

/bookauther>

34.6

<

/bookprice>

1912-11

-5<

/bookdata>

<

/book>

"1002"

>

朝花夕拾<

/bookname>

54<

/bookauther>

44.8

<

/bookprice>

1954-10

-5<

/bookdata>

<

/book>

<

/book>

//造工廠

documentbuilde***ctory dbf = documentbuilde***ctory.

newinstance()

;//利用工廠造解析器

documentbuilder db = dbf.

newdocumentbuilder()

;//利用解析器將xml轉換為document物件

//導包 org.w3c.dom.

document doc = db.

parse

(new

file

("2021hunan/src/day0102/bookstore.xml"))

;//利用doc獲得所有的node節點,nodelist

nodelist list = doc.

getelementsbytagname

("book");

for(

int i =

0; i < list.

getlength()

; i++){

element ele=

(element) list.

item

(i);

int id=integer.

parseint

(ele.

getattribute

("id"))

; string bookname=doc.

getelementsbytagname

("bookname").

item

(i).

getfirstchild()

.getnodevalue()

; string bookauther=doc.

getelementsbytagname

("bookauther").

item

(i).

getfirstchild()

.getnodevalue()

;double bookprice= double.

parsedouble

(doc.

getelementsbytagname

("bookprice").

item

(i).

getfirstchild()

.getnodevalue()

);date date =

new******dateformat

("yyyy-mm-dd").

parse

(doc.

getelementsbytagname

("bookdata").

item

(i).

getfirstchild()

.getnodevalue()

);// book book=new book(id,bookname,bookauther,bookprice,date);

// system.out.println(book);

dom解析的優點:十分的便於進行增刪改查的操作,只要解析一次拿到dom物件後可以重複的使用減少解析次數

缺點:解析比較慢,需要將整個文件都載入到記憶體解析完成後才能進行操作,非常耗記憶體

解析xml檔案(DOM解析)

解析的檔案 醫院心電圖記錄單 門診號 1002080066 住院號 201800964 姓名 羅2 性別 女 年齡 26歲 心檢號 科室 婦產科 床號 9 複查時註明原心檢號 韻律 竇律 心房率 82 心室率 82 軸向 電軸正常 pr間期 0.13 qrs波 0.08 qt間期 0.34 正常心電...

Dom解析XML檔案

dom解析xml檔案的原理是把xml檔案的文件樹物件全部載入到記憶體中,然後解析,這種解析方式的缺點在於在手機 pad等cpu運算速度不快,記憶體有限的裝置上會影響軟體效率和系統效能。使用dom技術解析xml檔案案例 maomao 26 hy 27解析 public static listdompa...

XML檔案解析之DOM解析

1.xml概念 xml 可擴充套件標誌語言 extensible markup language 1 是一種很像超文字標記語言 html 的標記語言 2 它的設計宗旨是傳輸和儲存資料,而不是顯示資料 html是用來顯示資料 3 最大特點是 它的標籤沒有被預定義 2.dom解析思路 dom解析xml時...