java 解析xml報文及獲取節(jié)點(diǎn)xml

使用Dom4j修改萝风、刪除元素和屬性值,需要先獲取dom4j樹(即Document)规惰,通常需要修改的節(jié)點(diǎn)需要先獲得該節(jié)點(diǎn)或其父節(jié)點(diǎn),欲 修改屬性歇万,需要先獲得該屬性所在的節(jié)點(diǎn)和該屬性揩晴。dom4j提供了非常方便操作的API,修改和刪除元素使用Element類贪磺,修改屬性使用Attribute類,具體操作通過一個實(shí)例來進(jìn)行說明寒锚。

使用Dom4j修改呻粹、刪除元素和屬性值,需要先獲取dom4j樹(即Document)苏研,通常需要修改的節(jié)點(diǎn)需要先獲得該節(jié)點(diǎn)和其父節(jié)點(diǎn)對象等浊;需要修改的屬性,需要先獲得該屬性所在的節(jié)點(diǎn)和該屬性對象摹蘑。dom4j提供了非常方便操作的API,修改和刪除元素使用Element類衅鹿,修改屬性使用Attribute類,具體操作通過一個實(shí)例來進(jìn)行說明大渤。

要修改的XML文檔內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
<employees>
    <employee id="1001">
        <name>張三</name>
    </employee>
</employees>

java代碼如下:

package com.bug315.update;
 
import java.io.File;
 
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 
/**
 * 使用Dom4j修改XML文檔指定的元素
 * @author administrator
 * @date 2015年12月20日19:46:06
 */
public class UpdateElementTest01 {
     
    public static void main(String[] args) throws Exception {
        // 獲取文檔對象
       String xml="上文xml結(jié)構(gòu)";
        Document document = DocumentHelper.parseText(xml);;
         
        Element root = document.getRootElement();
        Element employeeEle = root.element("employee");
         
        // (1)將employee元素名稱改為emp
        employeeEle.setName("emp");
         
        // (2)將employee元素的id屬性名稱改為bh泵三,值改為2000
        Attribute idAttribute = employeeEle.attribute("id");
        // a、先刪除id屬性
        employeeEle.remove(idAttribute);
        // b烫幕、設(shè)置新的屬性俺抽,bh=2000
        employeeEle.addAttribute("bh", "2000");
         
        // (3)將employee元素下面的name元素刪除掉较曼,將name元素的值作為employee元素的值
        Element nameElement = employeeEle.element("name");
        String value = nameElement.getTextTrim();
        employeeEle.remove(nameElement);
        employeeEle.setText( value );
         
        // 將修改后的XML文檔輸出到終端,查看修改結(jié)果
        XMLWriter writer = new XMLWriter();
        writer.write(document);
        writer.close();
    }
     
}

用dom4j生成xml弛饭,去掉xml頭 <\xml version="1.0" encoding="UTF-8">

document.getRootElement().asXML();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萍歉,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子翠桦,更是在濱河造成了極大的恐慌胳蛮,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斗幼,死亡現(xiàn)場離奇詭異抚垄,居然都是意外死亡蜕窿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門桐经,熙熙樓的掌柜王于貴愁眉苦臉地迎上來毁兆,“玉大人阴挣,你說我怎么就攤上這事∨线郑” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵梅桩,是天一觀的道長拜隧。 經(jīng)常有香客問我,道長洪添,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任外臂,我火速辦了婚禮律胀,結(jié)果婚禮上宋光,老公的妹妹穿的比我還像新娘炭菌。我一直安慰自己,他們只是感情好赘艳,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布克握。 她就那樣靜靜地躺著,像睡著了一般菩暗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上停团,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機(jī)與錄音秒梅,去河邊找鬼。 笑死捆蜀,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的这刷。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼暇屋,長吁一口氣:“原來是場噩夢啊……” “哼洞辣!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扬霜,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤著瓶,失蹤者是張志新(化名)和其女友劉穎联予,沒想到半個月后材原,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卷胯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年威酒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片葵孤。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡佛呻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出吓著,到底是詐尸還是另有隱情,我是刑警寧澤绑莺,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站诫肠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏栋豫。R本人自食惡果不足惜谚殊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫩絮。 院中可真熱鬧,春花似錦剿干、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽篮愉。三九已至差导,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間设褐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工犀被, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留外冀,地道東北人寡键。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓西轩,卻偏偏與公主長得像员舵,于是被迫代替她去往敵國和親藕畔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 1. XML總結(jié) 1.1. XML簡介 XML : 可擴(kuò)展的標(biāo)記語言韭邓。(和HTML非常類似的) 可擴(kuò)展的溶弟。 自定義...
    Ethan_Walker閱讀 3,001評論 0 12
  • XML技術(shù) 認(rèn)識XML XML是Extensible Markup Language即可擴(kuò)展標(biāo)記語言的縮寫,是一種...
    劉玉鵬151閱讀 951評論 0 0
  • 什么是XML鸭你? XML:extensiable markup language 被稱作可擴(kuò)展標(biāo)記語言 XML簡單的...
    Java3y閱讀 2,403評論 5 41
  • 一菜拓、XML介紹 XML 指可擴(kuò)展標(biāo)記語言(EXtensible Markup Language),也是一種標(biāo)記語言...
    圣賢與無賴閱讀 1,114評論 2 3
  • 目錄 XML簡介 XML基本語法 XML解析?* DOM解析? ?* DOM解析原理及工具? ?* DOM4J解析...
    望町閱讀 655評論 0 2