XML解析之DOM解析

2021-07-27 13:54:16 字數 1651 閱讀 1261

一開始我也不會,就找資料,這種資料多的要命,一搜一大堆,眼花繚亂的,沒看到滿意的。。。

反正要掌握的,何不多寫寫,別人寫的大多數是針對某個xml進行解析的,我不喜歡這樣,太麻煩。。。

* 以下**基本上可以解析平常xml格式的內容了,**不需要怎麼改動*

首先獲取dom解析最重要的工廠類,通過工廠類獲取解析xml用到的物件,就是下面這倆。。

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

documentbuilder documentbuilder = documentbuilde***ctory.newdocumentbuilder();

物件獲取到了,就要解析xml了吧,解析xml當然要知道解析哪個xml啊,所以接下來就是設定要解析的xml。

這裡說一下,dom解析方式是先把整個xml都讀取到記憶體中,然後進行解析,比較適合較小的xml檔案

// 讀取xml檔案到記憶體中

document document = documentbuilder.parse(new fileinputstream("src/msg.xml"));

上面這個是直接讀取檔案的,做android的大多數都是伺服器返回的資料,不可能再寫到檔案中在讀取,下面是直接讀取string解析的放方法

string xml = "這裡是你的xml字串";

document document = documentbuilder.parse(new inputsource(new stringreader(xml)));

public

static

void

domparser() throws parserconfigurationexception, ioexception, saxexception

// 無用,格式化列印出的資訊用

system.out.println();

// 獲取當前節點下的子節點

nodelist childnodes = documentelement.getchildnodes();

parsernode(childnodes);

}/**

* 遞迴遍歷xml節點和屬性資訊

**@param childnodes 節點nodelist物件

*/public

static

void

parsernode(nodelist childnodes) else

// 獲取當前節點下的屬性並遍歷屬性

namednodemap attributes = childnodes.item(i).getattributes();

if (attributes != null)

}system.out.println();

parsernode(childnodes1);}}

}

個人覺得比那些直接getelementsbytagname(string name)方法獲取方便自由一點,再往上可以改改封裝一下,使用反射應該就能應付大多數xml解析。

XML檔案解析之DOM解析

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

解析xml檔案(DOM解析)

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

Dom方式解析Xml

初學dom解析xml dom方式解析xml檔案 1.遍歷所有節點 2.查詢某乙個節點 3.刪除節點 4.更新結點 5.新增節點 使用dom方式對xml文件進行crud public class demo3 得到xml文件中所有標籤 test public void read2 throws exce...