昆明java培训
达内昆明广州春城路

18487146383

热门课程

java对xml节点属性的增删改查

  • 时间:2016-10-07
  • 发布:昆明Java培训
  • 来源:达内新闻

昆明达内Java培训的老师今天给大家分享java对xml节点属性的增删改查。

在学习本文之前请昆明达内Java培训的老师提醒大家记得学习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>zhangsan@qq.com</email>

8        <qq>432221111</qq>

9    </contact>

10    <contact id="002">

11        <name>李四</name>

12        <age>20</age>

13        <phone>134222225555</phone>

14        <email>lisi@qq.com</email>

15        <qq>432222222</qq>

16    </contact>

17    <contactTwo>

18        <name>王五</name>

19        <age>32</age>

20        <phone>465431341</phone>

21        <emali>af@qq.com</emali>

22        <qq>46164694</qq>

23    </contactTwo>

24    <test>测试</test>

25    <test>其他用途</test>

26 </contactList>

了解详情请登陆昆明达内Java培训官网(km.Java.tedu.cn)!

上一篇:昆明java:判断后无限循环输出的解决办法
下一篇:cpu占有率的java c# .net php node.js的实现

昆明达内Java培训带你了解机器学习

中美it行业数据大pk

昆明达内java培训的面试问题你都掌握了吗

机器学习领域需要掌握什么

选择城市和中心
贵州省

广西省

海南省

扫一扫

了解更多干货