首页 > 代码库 > java对xml节点属性的增删改查
java对xml节点属性的增删改查
学习本文之前请先看我的另一篇文章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操作xml16 * 对xml属性操作17 * 时间:2016年10月2号18 * 操作xml文件为contact.xml19 * 本文件文件名为:attrDemo.java20 * @author shutu00821 *22 */23 public class attrDemo{24 @Test25 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对xml节点属性的增删改查
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。