java對xml節(jié)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法
學(xué)習(xí)本文之前請先看我的另一篇文章JAVA對XML節(jié)點(diǎn)的操作可以對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屬性操作
* 時(shí)間: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"));
//獲得某個(gè)節(jié)點(diǎn)的屬性對象
Element rootElem = document.getRootElement();
//獲取根節(jié)點(diǎn)屬性對象
Attribute rootAttr = rootElem.attribute("id");
//獲取指定節(jié)點(diǎn)屬性對象
Element contactElem = rootElem.element("contact");
Attribute contactAttr = contactElem.attribute("id");
//遍歷某個(gè)節(jié)點(diǎn)的所有屬性
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);
}
//設(shè)置某節(jié)點(diǎn)的屬性和值
contactElem.addAttribute("name", "zhangsan");
//設(shè)置(更改)某屬性的值
Attribute nameAttr = contactElem.attribute("name");
nameAttr.setValue("lisi");
//刪除某節(jié)點(diǎn)的指定屬性
contactElem.remove(nameAttr);
//將某節(jié)點(diǎn)的屬性和值寫入xml文檔中
XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"));
writer.write(document);
writer.close();
/**
* 如果文檔中有中文需要設(shè)置字符編碼
* 用如下語句:
* 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());
}
}
備注:以上例子代碼可以直接運(yùn)行??梢允褂肑unit 4調(diào)節(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é)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法全部內(nèi)容了,希望大家多多支持腳本之家~
- HDFS的Java API的訪問方式實(shí)例代碼
- JAVA操作HDFS案例的簡單實(shí)現(xiàn)
- HDFS中JAVA API的使用
- java 中Spark中將對象序列化存儲到hdfs
- java實(shí)現(xiàn)將ftp和http的文件直接傳送到hdfs
- java連接hdfs ha和調(diào)用mapreduce jar示例
- JavaWeb應(yīng)用實(shí)例:用servlet實(shí)現(xiàn)oracle 基本增刪改查
- Java語言實(shí)現(xiàn)對MySql數(shù)據(jù)庫中數(shù)據(jù)的增刪改查操作的代碼
- java jdbc連接mysql數(shù)據(jù)庫實(shí)現(xiàn)增刪改查操作
- 編寫Java代碼對HDFS進(jìn)行增刪改查操作代碼實(shí)例
相關(guān)文章
Java?IO流—異常及捕獲異常處理?try…catch…finally
這篇文章主要介紹了Java?IO流—異常及捕獲異常處理?try…catch…finally,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
SpringBoot整合Sa-Token實(shí)現(xiàn)登錄認(rèn)證的示例代碼
本文主要介紹了SpringBoot整合Sa-Token實(shí)現(xiàn)登錄認(rèn)證的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Springboot實(shí)現(xiàn)驗(yàn)證碼登錄
這篇文章主要為大家詳細(xì)介紹了Springboot實(shí)現(xiàn)驗(yàn)證碼登錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
淺談Java(SpringBoot)基于zookeeper的分布式鎖實(shí)現(xiàn)
這篇文章主要介紹了Java(SpringBoot)基于zookeeper的分布式鎖實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
maven引入mysql-connector-java包失敗的解決方案
這篇文章主要介紹了maven引入mysql-connector-java包失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Eclipse開發(fā)JavaWeb項(xiàng)目配置Tomcat的方法步驟
本文主要介紹了Eclipse開發(fā)JavaWeb項(xiàng)目配置Tomcat的方法步驟,首先介紹eclipse開發(fā)JavaWeb項(xiàng)目需要配置的相關(guān)環(huán)境,使用tomcat軟件在本地搭建服務(wù)器,然后再在eclipse環(huán)境下配置tomcat,感興趣的可以了解一下2021-08-08

