学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对XML操作有更好的了解。
java" id="highlighter_182728">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
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" ));
//获得某个节点的属性对象
Element rootElem = document.getRootElement();
//获取根节点属性对象
Attribute rootAttr = rootElem.attribute( "id" );
//获取指定节点属性对象
Element contactElem = rootElem.element( "contact" );
Attribute contactAttr = contactElem.attribute( "id" );
//遍历某个节点的所有属性
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);
}
//设置某节点的属性和值
contactElem.addAttribute( "name" , "zhangsan" );
//设置(更改)某属性的值
Attribute nameAttr = contactElem.attribute( "name" );
nameAttr.setValue( "lisi" );
//删除某节点的指定属性
contactElem.remove(nameAttr);
//将某节点的属性和值写入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());
}
}
|
备注:以上例子代码可以直接运行。可以使用Junit 4调节本例子的代码。
以下是XML文档:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<?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>
|
文件目录如图所示:
以上就是小编为大家带来的java对xml节点属性的增删改查实现方法全部内容了,希望大家多多支持服务器之家~