java對xml節(jié)點屬性的增刪改查實現(xiàn)方法
更新時間:2016年10月04日 19:56:10 投稿:jingxian
下面小編就為大家?guī)硪黄猨ava對xml節(jié)點屬性的增刪改查實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
學習本文之前請先看我的另一篇文章JAVA對XML節(jié)點的操作可以對XML操作有更好的了解。
package vastsum; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.junit.Test; /** * 使用dom4j操作xml * 對xml屬性操作 * 時間:2016年10月2號 * 操作xml文件為contact.xml * 本文件文件名為:attrDemo.java * @author shutu008 * */ public class attrDemo{ @Test public void exmple() throws Exception{ //讀取XML文件,獲得document對象 SAXReader reader = new SAXReader(); Document document = reader.read(new File("./src/contact.xml")); //獲得某個節(jié)點的屬性對象 Element rootElem = document.getRootElement(); //獲取根節(jié)點屬性對象 Attribute rootAttr = rootElem.attribute("id"); //獲取指定節(jié)點屬性對象 Element contactElem = rootElem.element("contact"); Attribute contactAttr = contactElem.attribute("id"); //遍歷某個節(jié)點的所有屬性 for (Iterator it = contactElem.attributeIterator();it.hasNext();){ Attribute conAttr= (Attribute)it.next(); String conTxt = conAttr.getValue(); String conAttrName = conAttr.getName(); System.out.println(conAttrName+" = "+conTxt); } //設置某節(jié)點的屬性和值 contactElem.addAttribute("name", "zhangsan"); //設置(更改)某屬性的值 Attribute nameAttr = contactElem.attribute("name"); nameAttr.setValue("lisi"); //刪除某節(jié)點的指定屬性 contactElem.remove(nameAttr); //將某節(jié)點的屬性和值寫入xml文檔中 XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml")); writer.write(document); writer.close(); /** * 如果文檔中有中文需要設置字符編碼 * 用如下語句: * OutputFormat format = OutputFormat.createPrettyPrint(); * format.setEncoding("GBK"); * XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"),format); */ //獲取指定對象的屬性名 System.out.println(rootAttr.getName()); System.out.println(contactAttr.getName()); //獲取指定對象的屬性值 System.out.println(contactAttr.getValue()); System.out.println(rootAttr.getValue()); } }
備注:以上例子代碼可以直接運行??梢允褂肑unit 4調節(jié)本例子的代碼。
以下是XML文檔:
<?xml version="1.0" encoding="UTF-8"?> <contactList id="0"> <contact id="001" class="style"> <name>張三</name> <age>20</age> <phone>134222223333</phone> <email>zhangsan@qq.com</email> <qq>432221111</qq> </contact> <contact id="002"> <name>李四</name> <age>20</age> <phone>134222225555</phone> <email>lisi@qq.com</email> <qq>432222222</qq> </contact> <contactTwo> <name>王五</name> <age>32</age> <phone>465431341</phone> <emali>af@qq.com</emali> <qq>46164694</qq> </contactTwo> <test>測試</test> <test>其他用途</test> </contactList>
文件目錄如圖所示:
以上就是小編為大家?guī)淼膉ava對xml節(jié)點屬性的增刪改查實現(xiàn)方法全部內容了,希望大家多多支持腳本之家~
相關文章
Java基于JavaMail實現(xiàn)向QQ郵箱發(fā)送郵件
這篇文章主要為大家詳細介紹了Java基于JavaMail實現(xiàn)向QQ郵箱發(fā)送郵件的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-01-01Spring中property-placeholder的使用與解析詳解
本篇文章主要介紹了Spring中property-placeholder的使用與解析詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05使用JSONObject.toJSONString 過濾掉值為空的key
這篇文章主要介紹了使用JSONObject.toJSONString 過濾掉值為空的key,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Java concurrency線程池之線程池原理(三)_動力節(jié)點Java學院整理
這篇文章主要為大家詳細介紹了Java concurrency線程池之線程池原理第三篇,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06