解析xml檔案

2021-10-06 08:02:42 字數 2422 閱讀 5726

dtd是限制檔案

xsd是dtd的公升級版

sun公司官方的解析方式:dom 適用多次訪問xml

民間版本sax 適用於資料量較大

上面兩種適用起來都異常複雜,於是第三方進行了封裝

jdom 優秀

jdom的公升級版 dom4j 非常優秀

dom4j讀取xml檔案,解析xml檔案需要匯入dom4j的jar包

//建立saxreader 

saxreader reader=

newsaxreader()

;//得到document

document doc=reader.

read

(new

file

("src/xml/scores.xml"))

;

得到document之後就可以像反射那樣使用了

//獲取根元素

element root=doc.

getrootelement()

; system.out.

println

(root.

getname()

+"\n"

);

//獲取根元素下所有子元素  迭代器

iterator

it=root.

elementiterator()

;

進行一系列操作,attribute 也可以進行迭代的

dom4j建立xml檔案

設定屬性 元素.addattribute

document doc= documenthelper.

createdocument()

; element root=doc.

addelement

("scores");

element student=root.

addelement

("student");

student.

addattribute

("id"

,"s01");

element name=student.

addelement

("name");

element lessons=student.

addelement

("lessons");

element score= student.

addelement

("score");

name.

addtext

("周某");

lessons.

addtext

("線代");

score.

addtext

("88"

);

簡單輸出用doc的write就行,需要建立乙個writer輸出流,記得關閉流

//        將doc輸出到xml檔案中,簡單輸出

writer writer=

newfilewriter

(new

file

("src/xml/scores2.xml"))

; doc.

write

(writer)

; writer.

close()

;

但檔案中格式是這樣的

用dom4j自帶的輸出流,和美化的類outputformat ,關閉xmlwriter的同時會關閉filewriter

//格式良好的輸出

outputformat format=outputformat.

createprettyprint()

; xmlwriter writer1=

newxmlwriter

(new

filewriter

(new

file

("src/xml/scores2.xml"))

,format)

; writer1.

write

(doc)

; writer1.

close()

;

建立xml檔案 解析xml檔案

import codecs import xml.dom.minidom doc xml.dom.minidom.document print doc root doc.createelement booklist print u 新增的xml標籤為 root.tagname root.setatt...

解析XML檔案

sax解析xml 得到saxparse ctory saxparse ctory saxparse ctory saxparse ctory.newinstance 得到saxparser saxparser saxparser saxparse ctory.newsaxparser 得到xmlre...

XML檔案解析

xml是可擴充套件標記語言,用來傳輸和儲存資料。xml文件必須包含根元素,該元素是所有其他元素的父元素。xml文件中的元素形成了樹形結構。xml有以下特點 建立名稱是 textfile1.txt 的文件,設定屬性 複製到輸出目錄 如果較新則複製 在工程執行時,會自動將該txt檔案複製到bin下面。2...