漂在爪洼島上

          Java is my life,but not all!
          posts - 3, comments - 6, trackbacks - 0, articles - 9
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          JDOM修改XML中指定節點的內容

          Posted on 2009-06-30 11:22 周競先 閱讀(2663) 評論(0)  編輯  收藏 所屬分類: xml
           1 package com.potevio.telecom.test;
           2 
           3 //IO異常處理相關類
           4 import java.io.FileInputStream;
           5 import java.io.FileNotFoundException;
           6 import java.io.IOException;
           7 
           8 //JDOM處理相關類
           9 import org.jdom.Document;
          10 import org.jdom.Element;
          11 import org.jdom.JDOMException;
          12 import org.jdom.input.SAXBuilder;
          13 
          14 //單元測試類
          15 import junit.framework.TestCase;
          16 
          17 /**
          18  * JDOM修改XML中指定節點的內容
          19  * @author Zhou-Jingxian
          20  *
          21  */
          22 public class TestUpdateXML extends TestCase {
          23     
          24     public void testJdomUpdateXML(){
          25         
          26         //要解析的文件
          27         String xmlURL = "F:\\test_update.xml";
          28         
          29         //指定修改的第二級節點名稱
          30         String secondNodeName = "file_download_url";
          31         
          32         //文檔對象
          33         Document myDoc = null;
          34         
          35         try{
          36             //解析器
          37             SAXBuilder sb = new SAXBuilder();
          38             
          39             //文檔賦值
          40             myDoc = sb.build(new FileInputStream(xmlURL));
          41             
          42         }catch(JDOMException e){
          43             e.printStackTrace();
          44         }catch(NullPointerException e){
          45             e.printStackTrace();
          46         } catch (FileNotFoundException e) {
          47             e.printStackTrace();
          48         } catch (IOException e) {
          49             e.printStackTrace();
          50         }
          51         
          52         //根元素
          53         Element root = myDoc.getRootElement();
          54         
          55         //第一級節點
          56         Element page = root.getChild("page");
          57         
          58         //測試用的指定節點修改前原內容
          59         String secondNodeValue = page.getChild(secondNodeName).getText();
          60         System.out.println("before update value:"+secondNodeValue);
          61         
          62         //修改內容
          63         page.getChild(secondNodeName).setText("http://localhost:8000/yyoa/download/");
          64         
          65         //測試用的指定節點修改后的內容
          66         secondNodeValue = page.getChild(secondNodeName).getText();
          67         System.out.println("after update value:"+secondNodeValue);
          68         
          69     }
          70     
          71     /**
          72      * F:\\test_update.xml內容如下:
          73      * <?xml version="1.0" encoding="UTF-8"?>
          74      * <MobileNet>
          75      * <page name="測試用">
          76      * <method>get</method>
          77      * <display>content</display>
          78      * <file_url>通過參數傳遞過來的一個連接地址,附件所在頁面的地址</file_url>
          79      * <file_download_url>先不設置,通過正則解析處理之后得到最后的下載地址之后才設置進來值</file_download_url>
          80      * <file_analysis_formula>onclick="downloadFile\('([^']*)','([^']*)','([^']*)','([^']*)'\)"</file_analysis_formula>
          81      * </page>
          82      * </MobileNet>
          83      */
          84 }
          85 
          86 


          輸出結果:
          1 before update value:先不設置,通過正則解析處理之后得到最后的下載地址之后才設置進來值
          2 after update value:http://localhost:8000/yyoa/download/
          3 


          Life,simple and happy!

          主站蜘蛛池模板: 乳源| 黑河市| 济南市| 集贤县| 天镇县| 平陆县| 商城县| 封丘县| 揭西县| 台江县| 六盘水市| 微博| 长治市| 海原县| 崇文区| 教育| 西乌| 南充市| 泰和县| 大港区| 德昌县| 德安县| 类乌齐县| 昌都县| 新泰市| 壶关县| 金阳县| 榆树市| 威海市| 昌都县| 邯郸市| 兴化市| 四会市| 武定县| 教育| 宜兰县| 淳安县| 新泰市| 梁山县| 凤阳县| 上虞市|