java对xml节点属性的增删改查实现方法
程序员文章站
2024-03-12 14:14:32
学习本文之前请先看我的另一篇文章java对xml节点的操作可以对xml操作有更好的了解。
package vastsum;
import java.io.f...
学习本文之前请先看我的另一篇文章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节点属性的增删改查实现方法全部内容了,希望大家多多支持~
上一篇: Java静态方法不具有多态性详解
下一篇: 自定义一个异常类模板的简单实例