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