使用jaxp的dom方式對xml實現增刪改查

2021-09-19 03:31:40 字數 1995 閱讀 2869

目錄

使用jaxp實現查詢指定節點內容

使用jaxp實現查詢所有指定節點的內容

使用jaxp實現查詢所有節點 

使用jaxp實現新增節點

使用jaxp實現修改指定節點內容

使用jaxp實現刪除指定節點 

步驟:建立解析器工廠

根據解析器工廠建立解析器

解析xml,返回document

得到所有的name元素

遍歷集合得到第乙個name元素

得到name裡具體的值

private static void selectsin() throws exception
步驟:

建立解析器工廠

根據解析器工廠建立解析器

解析xml,返回document

得到所有的name元素

遍歷list集合,得到所有的name元素的值

private static void selectall() throws exception
private static void list(node node) 

//得到一層子節點

nodelist nodelist = node.getchildnodes();

//遍歷list

for(int i=0;i步驟:

建立解析器工廠

根據解析器工廠建立解析器

解析xml,返回document

得到第乙個p

建立***標籤 createelement

建立文字標籤 createtextnode

把***標籤新增到p下面

回寫xml

//1.建立解析器工廠

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

//2.根據解析器工廠建立解析器

documentbuilder db = dbf.newdocumentbuilder();

//3.解析xml返回document

document doc = db.parse("person.xml");

//4.得到第乙個p

node p1 = doc.getelementsbytagname("p").item(0);

//5.建立***標籤 createelement

element ***1 = doc.createelement("***");

//6.建立text文字 createtextnode

text text1 = doc.createtextnode("男");

//8.把***新增到p下面

//9.回寫xml

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

transformer transformer = tf.newtransformer();

transformer.transform(new domsource(doc), new streamresult("person.xml"));

步驟:

建立解析器工廠

根據解析器工廠建立解析器

解析xml,返回document

得到***

修改***裡邊的值

回寫xml

private static void modify***() throws exception
步驟:

建立解析器工廠

根據解析器工廠建立解析器

解析xml返回document

得到***節點

獲取***父節點

刪除***節點

回寫xml

private static void delete***() throws exception

使用jaxp的sax方式解析xml

步驟 建立解析器工廠 根據解析器工廠建立解析器 執行parse操作 建立乙個類,繼承defaulthandler 重寫類中的方法 下述 實現了通過sax,獲取xml中所有name標籤的text屬性 public class saxtest 4 建立乙個類,繼承defaulthan class myd...

Android成長之路 使用DOM解析XML

1 建立乙個getpersonlist 方法 給它乙個流引數 返回乙個list集合 2 建立person集合 3 得到建立dom解析器的工廠物件 4 讓工廠物件建立解析器物件 5 使用解析器物件的parser inputstreamin 進行解析 6 獲取根節點 7 獲取persons的子節點 8 ...

xml的解析和JAXP的dom解析

問題 xml的解析方式有哪些?dom和sax的區別 答 dom解析方式 把xml文件全部載入到記憶體中,形成樹狀結構 缺點 如果文件過大,容易產生記憶體溢位問題 優點 可以做增刪改的操作 sax解析方式 邊讀邊解析,基於事件驅動 優點 不會產生記憶體溢位的問題 缺點 不能做增刪改的操作,查詢速度非常...