java对xml节点属性的增删改查实现方法
2021/7/2 17:21:17
本文主要是介绍java对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()); } }
以下是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节点属性的增删改查实现方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27消息中间件底层原理资料详解
- 2024-11-27RocketMQ底层原理资料详解:新手入门教程
- 2024-11-27MQ底层原理资料详解:新手入门教程
- 2024-11-27MQ项目开发资料入门教程
- 2024-11-27RocketMQ源码资料详解:新手入门教程
- 2024-11-27本地多文件上传简易教程
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器