首页 > 编程 > Java > 正文

java对xml节点属性的增删改查实现方法

2019-11-26 13:44:56
字体:
来源:转载
供稿:网友

学习本文之前请先看我的另一篇文章JAVA对XML节点的操作可以对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"));    //获得某个节点的属性对象  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文档:

<?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节点属性的增删改查实现方法全部内容了,希望大家多多支持武林网~

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表