利用DOM解析和建立xml檔案

2021-07-15 08:34:03 字數 2567 閱讀 4475

xml解析器是指可以解析xml檔案的程式

常見解析器有

1.     sax解析器,用於xml的簡單api

2.     dom解析器,文件物件模型

文件物件模型就是利用物件來把文件模型化,這些模型不僅描述了文件的結構,還定義了模型中物件的行為。在dom中,物件模型要實現:

a.     用來表示、操作文件的介面

b.     介面的行為和屬性

c.      介面之間的關係和互操作。

在dom介面規範中,有四個最基本的介面:document,node,nodelist,以及namednodemap.

其中:一切都是節點(物件)

node物件:dom中最基本的物件

document物件:代表整個xml文件

nodelist物件包含乙個或者是多個node的列表

element物件代表xml文件中的標籤元素

l  如何讀取

xml檔案? 1.

建立乙個解析器工廠

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

以利用這個工廠來獲得乙個具體的解析器物件

documentbuilder builder= factory.newdocumentbuilder();

3.    

利用documentbuilder

中的parse()

方法接收乙個

xml文件名作為輸入引數,返回乙個

document

物件。document

物件代表了乙個

xml文件的樹模型

document doc = builder.parse(「book.xml」)

4.    

使用document

物件的getelementbytagname()

方法,得到乙個

nodelist

物件,它是

xml文件中的標籤元素列表,可以使用

nodelist

物件的item()

方法得到列表中每個

node物件

nodelist nodelist = doc.getelementsbytagname(「book」);

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

5.    

通過node

物件的getnodevalue()

方法提取某個標籤內的內容

node.getelementsbytagname(「name」).item(0).getfirstchild().getnodevalue();

l  利用dom,

如何建立乙個

xml檔案?

//建立乙個解析器工廠物件

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

//建立乙個具體的解析器物件

documentbuilder builder =factory.newdocumentbuilder();

//建立乙個document文件物件

document document = builder.newdocument();

element root =document.createelement("books");

element book =document.createelement("book");

element bname =document.createelement("bname");

bname.settextcontent("夢想");

element author =document.createelement("author");

author.settextcontent("小");

element price =document.createelement("price");

price.settextcontent("30");

attr id =document.createattribute("id");

id.setvalue("book_001");

book.setattributenode(id);

//建立xml檔案轉換器

transforme***ctory transfactory =transforme***ctory.newinstance();

transformer transformer =transfactory.newtransformer();

//設定輸出編碼

transformer.setoutputproperty("encoding","utf-8");

//定義轉換器輸入物件

domsource source = new domsource(document);

//定義轉換器輸出物件

result target = newstreamresult("books.xml");

transformer.transform(source, target);

解析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...

Dom解析xml檔案

xml指可擴充套件標記語言 xml的設計宗旨是傳輸儲存資料 xml文件樹結構 xml文件形成了一種樹結構,它從 根部 開始,然後擴充套件到枝葉 利用dom規範,能夠實現dom 文件和xml之間的相互轉換,遍歷 操作相應dom文件的內容 dom規範的核心就是樹模型 dom解析xml的步驟 1.獲得解析...