你的位置:首页 > Java教程

[Java教程]java对xml节点属性的增删改查

学习本文之前请先看我的另一篇文章JAVA对可以对

 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.12 import org.junit.Test;13 14 /**15  * 使用dom4j操作16  * 对17  * 时间:2016年10月2号18  * 操作19  * 本文件文件名为:attrDemo.java20  * @author shutu00821  *22 */23 public class attrDemo{24   @Test25   public void exmple() throws Exception{26     //读取27     SAXReader reader = new SAXReader();28     Document document = reader.read(new File("./src/contact.));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     //将某节点的属性和值写入56     new new FileWriter("./src/contact.));57     writer.write(document);58     writer.close();59     60     /**61      * 如果文档中有中文需要设置字符编码62      * 用如下语句:63      * OutputFormat format = OutputFormat.createPrettyPrint();64      * format.setEncoding("GBK");65      * 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调节本例子的代码。

以下是

 1 <? 2 <contactList id="0"> 3   <contact id="001" class="style"> 4     <name>张三</name> 5     <age>20</age> 6     <phone>134222223333</phone> 7     <email>[email protected]</email> 8     <qq>432221111</qq> 9   </contact>10   <contact id="002">11     <name>李四</name>12     <age>20</age>13     <phone>134222225555</phone>14     <email>[email protected]</email>15     <qq>432222222</qq>16   </contact>17   <contactTwo>18     <name>王五</name>19     <age>32</age>20     <phone>465431341</phone>21     <emali>[email protected]</emali>22     <qq>46164694</qq>23   </contactTwo>24   <test>测试</test>25   <test>其他用途</test>26 </contactList>

View Code

文件目录如图所示:


到泰国旅游团购去泰国旅游攻略泰国六日游行程安排参考去泰国旅游跟团行程泰国旅游护照签证广东斗门樱花最佳观赏时间?斗门南澳樱花盛花期? 呀诺达雨林2015最刺激的项目有哪些?三亚呀诺达雨林文化区游玩特色? 2015合肥全羊美食节(台湾士林美食节)是什么时候?有哪些好玩的活动? 2015罗平油菜花节是什么时候?好玩吗?有哪些活动呢? 长隆水上乐园票退票吗?番禺长隆水上乐园是电子票吗? 惠州昆山峡森林海漂流地址?昆山峡森林海漂流在哪里? 义江缘停车收费吗?桂林义江缘停车方便吗? 长隆水上乐园够票须知?广州长隆水上乐园网上可以预订吗? 深圳周边游之广州长隆一日游 广州长隆旅游攻略推荐(图) 深圳周边碧海湾旅游攻略 碧海湾旅游一日游(图) 日本横滨去哪里购物好? 深圳周边游之惠东双月湾旅游 惠东双月湾旅游攻略(图) “印象武隆”3月8日震撼启幕 重庆赏桃花:洞边桃瓣水悠悠 重庆武隆喀斯特景区门票 酉阳桃花源门票_桃花源门票价格_酉阳桃花源门票多少钱 VKP100MT512 Datasheet VKP100MT512 Datasheet VKA60MS12 Datasheet VKA60MS12 Datasheet VKP60MT312N Datasheet VKP60MT312N Datasheet 樱花节 樱花节 樱花节 俄罗斯旅游景点 俄罗斯旅游景点 俄罗斯旅游景点 西安大雁塔音乐喷泉 西安大雁塔音乐喷泉 西安大雁塔音乐喷泉