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