程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> java對xml節點屬性的增刪改查,javaxml節點增刪

java對xml節點屬性的增刪改查,javaxml節點增刪

編輯:JAVA綜合教程

java對xml節點屬性的增刪改查,javaxml節點增刪


學習本文之前請先看我的另一篇文章JAVA對XML節點的操作可以對XML操作有更好的了解。

 1 package vastsum;
 2 
 3 import java.io.File;
 4 import java.io.FileWriter;
 5 import java.util.Iterator;
 6 
 7 import org.dom4j.Attribute;
 8 import org.dom4j.Document;
 9 import org.dom4j.Element;
10 import org.dom4j.io.SAXReader;
11 import org.dom4j.io.XMLWriter;
12 import org.junit.Test;
13 
14 /**
15  * 使用dom4j操作xml
16  * 對xml屬性操作
17  * 時間:2016年10月2號
18  * 操作xml文件為contact.xml
19  * 本文件文件名為:attrDemo.java
20  * @author shutu008
21  *
22  */
23 public class attrDemo{
24     @Test
25     public void exmple() throws Exception{
26         //讀取XML文件,獲得document對象
27         SAXReader reader = new SAXReader();
28         Document document = reader.read(new File("./src/contact.xml"));
29         
30         //獲得某個節點的屬性對象
31         Element rootElem = document.getRootElement();
32         //獲取根節點屬性對象
33         Attribute rootAttr = rootElem.attribute("id");    
34         
35         //獲取指定節點屬性對象
36         Element contactElem = rootElem.element("contact");
37         Attribute contactAttr = contactElem.attribute("id");
38         
39         //遍歷某個節點的所有屬性
40         for (Iterator it = contactElem.attributeIterator();it.hasNext();){
41             Attribute  conAttr= (Attribute)it.next();
42             String conTxt = conAttr.getValue();
43             String conAttrName = conAttr.getName();
44             System.out.println(conAttrName+" = "+conTxt);
45         }
46         //設置某節點的屬性和值
47         contactElem.addAttribute("name", "zhangsan");
48         
49         //設置(更改)某屬性的值
50         Attribute nameAttr = contactElem.attribute("name");
51         nameAttr.setValue("lisi");
52         
53         //刪除某節點的指定屬性
54         contactElem.remove(nameAttr);
55         //將某節點的屬性和值寫入xml文檔中
56         XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"));
57         writer.write(document);
58         writer.close();
59         
60         /**
61          * 如果文檔中有中文需要設置字符編碼
62          * 用如下語句:
63          * OutputFormat format = OutputFormat.createPrettyPrint();
64          * format.setEncoding("GBK");
65          * XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"),format);
66          */
67         //獲取指定對象的屬性名
68         System.out.println(rootAttr.getName());
69         System.out.println(contactAttr.getName());
70         //獲取指定對象的屬性值
71         System.out.println(contactAttr.getValue());
72         System.out.println(rootAttr.getValue());
73     }
74 }

備注:以上例子代碼可以直接運行。可以使用Junit 4調節本例子的代碼。

以下是XML文檔:

1 <?xml version="1.0" encoding="UTF-8"?> 2 <contactList id="0"> 3 <contact id="001" class="style"> 4 <name>張三</name> 5 <age>20</age> 6 <phone>134222223333</phone> 7 <email>[email protected]</email> 8 <qq>432221111</qq> 9 </contact> 10 <contact id="002"> 11 <name>李四</name> 12 <age>20</age> 13 <phone>134222225555</phone> 14 <email>[email protected]</email> 15 <qq>432222222</qq> 16 </contact> 17 <contactTwo> 18 <name>王五</name> 19 <age>32</age> 20 <phone>465431341</phone> 21 <emali>[email protected]</emali> 22 <qq>46164694</qq> 23 </contactTwo> 24 <test>測試</test> 25 <test>其他用途</test> 26 </contactList> View Code

文件目錄如圖所示:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved