欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java對(duì)xml節(jié)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法

 更新時(shí)間:2016年10月04日 19:56:10   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇java對(duì)xml節(jié)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

學(xué)習(xí)本文之前請(qǐng)先看我的另一篇文章JAVA對(duì)XML節(jié)點(diǎn)的操作可以對(duì)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
 * 對(duì)xml屬性操作
 * 時(shí)間:2016年10月2號(hào)
 * 操作xml文件為contact.xml
 * 本文件文件名為:attrDemo.java
 * @author shutu008
 *
 */
public class attrDemo{
 @Test
 public void exmple() throws Exception{
  //讀取XML文件,獲得document對(duì)象
  SAXReader reader = new SAXReader();
  Document document = reader.read(new File("./src/contact.xml"));
  
  //獲得某個(gè)節(jié)點(diǎn)的屬性對(duì)象
  Element rootElem = document.getRootElement();
  //獲取根節(jié)點(diǎn)屬性對(duì)象
  Attribute rootAttr = rootElem.attribute("id"); 
  
  //獲取指定節(jié)點(diǎn)屬性對(duì)象
  Element contactElem = rootElem.element("contact");
  Attribute contactAttr = contactElem.attribute("id");
  
  //遍歷某個(gè)節(jié)點(diǎn)的所有屬性
  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);
  }
  //設(shè)置某節(jié)點(diǎn)的屬性和值
  contactElem.addAttribute("name", "zhangsan");
  
  //設(shè)置(更改)某屬性的值
  Attribute nameAttr = contactElem.attribute("name");
  nameAttr.setValue("lisi");
  
  //刪除某節(jié)點(diǎn)的指定屬性
  contactElem.remove(nameAttr);
  //將某節(jié)點(diǎn)的屬性和值寫入xml文檔中
  XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"));
  writer.write(document);
  writer.close();
  
  /**
   * 如果文檔中有中文需要設(shè)置字符編碼
   * 用如下語(yǔ)句:
   * OutputFormat format = OutputFormat.createPrettyPrint();
   * format.setEncoding("GBK");
   * XMLWriter writer = new XMLWriter(new FileWriter("./src/contact.xml"),format);
   */
  //獲取指定對(duì)象的屬性名
  System.out.println(rootAttr.getName());
  System.out.println(contactAttr.getName());
  //獲取指定對(duì)象的屬性值
  System.out.println(contactAttr.getValue());
  System.out.println(rootAttr.getValue());
 }
}

備注:以上例子代碼可以直接運(yùn)行??梢允褂肑unit 4調(diào)節(jié)本例子的代碼。

以下是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>測(cè)試</test>
 <test>其他用途</test>
</contactList>

文件目錄如圖所示:

以上就是小編為大家?guī)?lái)的java對(duì)xml節(jié)點(diǎn)屬性的增刪改查實(shí)現(xiàn)方法全部?jī)?nèi)容了,希望大家多多支持腳本之家~

相關(guān)文章

  • 出現(xiàn)次數(shù)超過(guò)一半(50%)的數(shù)

    出現(xiàn)次數(shù)超過(guò)一半(50%)的數(shù)

    給出n個(gè)數(shù),需要我們找出出現(xiàn)次數(shù)超過(guò)一半的數(shù),下面小編給大家分享下我的實(shí)現(xiàn)思路及關(guān)鍵代碼,感興趣的朋友一起學(xué)習(xí)吧
    2016-07-07
  • Java基于JavaMail實(shí)現(xiàn)向QQ郵箱發(fā)送郵件

    Java基于JavaMail實(shí)現(xiàn)向QQ郵箱發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了Java基于JavaMail實(shí)現(xiàn)向QQ郵箱發(fā)送郵件的相關(guān)資料,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Java分頁(yè)查詢的幾種實(shí)現(xiàn)方法舉例

    Java分頁(yè)查詢的幾種實(shí)現(xiàn)方法舉例

    這篇文章主要給大家介紹了關(guān)于Java分頁(yè)查詢的幾種實(shí)現(xiàn)方法,分頁(yè)是系統(tǒng)中常用到的功能,只要涉及到查詢必定伴隨而來(lái)的就是分頁(yè),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • Spring中property-placeholder的使用與解析詳解

    Spring中property-placeholder的使用與解析詳解

    本篇文章主要介紹了Spring中property-placeholder的使用與解析詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 使用JSONObject.toJSONString 過(guò)濾掉值為空的key

    使用JSONObject.toJSONString 過(guò)濾掉值為空的key

    這篇文章主要介紹了使用JSONObject.toJSONString 過(guò)濾掉值為空的key,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • mybatisPlus條件構(gòu)造器常用方法小結(jié)

    mybatisPlus條件構(gòu)造器常用方法小結(jié)

    這篇文章主要介紹了mybatisPlus條件構(gòu)造器常用方法,首先是.select和其他條件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • 詳解springboot中junit回滾

    詳解springboot中junit回滾

    本篇文章主要介紹了springboot中junit回滾,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • 使用Spring?Boot進(jìn)行單元測(cè)試詳情

    使用Spring?Boot進(jìn)行單元測(cè)試詳情

    這篇文章主要介紹了使用Spring?Boot進(jìn)行單元測(cè)試詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Java棧的運(yùn)用之中綴表達(dá)式求值詳解

    Java棧的運(yùn)用之中綴表達(dá)式求值詳解

    本文來(lái)介紹一題中綴表達(dá)式求值的問(wèn)題,就是給定一個(gè)中綴計(jì)算式,編寫程序?qū)⑦@個(gè)式子運(yùn)算結(jié)果給計(jì)算出來(lái),其實(shí)和后綴表達(dá)式的思路差不多,都是棧的運(yùn)用問(wèn)題,感興趣的可以了解一下
    2022-11-11
  • Java concurrency線程池之線程池原理(三)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Java concurrency線程池之線程池原理(三)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Java concurrency線程池之線程池原理第三篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06

最新評(píng)論