<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVA涂鴉
    關于JAVA的點點滴滴
    posts - 50,  comments - 689,  trackbacks - 0
    JDOM是Breet Mclaughlin和Jason Hunter兩大Java高手的創作成果,2000年初,JDOM作為一個開放源代碼項目正式開始研發。JDOM是一種解析XML的Java工具包。

    JDOM的二進制版本下載:http://www.jdom.org/downloads/index.html

    把解壓后的jdom.jar文件加到項目的類路徑中,另外便于調試,還要下載它的源代碼。

    一、解析XML
    要解析的XML文件:
    <?xml?version="1.0"?encoding="gb2312"?>
    <books>
    ???
    <book?email="zhoujunhui">
    ?????
    <name>rjzjh</name>
    ?????
    <price>60.0</price>
    ??
    </book>
    </books>


    解析XML的java文件:
    ?1?package?com;
    ?2?
    ?3?import?java.io.IOException;
    ?4?import?java.util.*;
    ?5?import?org.jdom.*;
    ?6?import?org.jdom.input.SAXBuilder;?
    ?7?
    ?8?public?class?Test?{
    ?9?
    10?????/**
    11??????*?@param?args
    12??????*/
    13?????public?static?void?main(String[]?args)?{
    14?????????SAXBuilder?sb=new?SAXBuilder(false);
    15?????????Document?doc?=?null;
    16?????????try?{
    17?????????????doc?=?sb.build("sample.xml");
    18?????????}?catch?(JDOMException?e)?{
    19?????????????e.printStackTrace();
    20?????????}?catch?(IOException?e)?{
    21?????????????e.printStackTrace();
    22?????????}?
    23?????????Element?root=doc.getRootElement();?//獲取根元素
    24?????????List?list=root.getChildren("book");//取名字為book的所有元素
    25?????????for(int?i=0;i<list.size();i++){
    26?????????????Element?element=(Element)list.get(i);
    27?????????????String?email=element.getAttributeValue("email");
    28?????????????String?name=element.getChildText("name");
    29?????????????String?price=element.getChildText("price");
    30?????????????System.out.println("name:"+name);
    31?????????????System.out.println("price:"+price);
    32?????????????System.out.println("email:"+email);
    33?????????}
    34?????}
    35?}
    36?
    37?

    二、生成XML:
    java文件:
    ?1?package?com;
    ?2?
    ?3?import?java.io.FileWriter;
    ?4?import?java.io.IOException;
    ?5?import?java.util.*;
    ?6?import?org.jdom.*;
    ?7?import?org.jdom.input.SAXBuilder;?
    ?8?import?org.jdom.output.XMLOutputter;
    ?9?
    10?public?class?Test?{
    11?
    12?????/**
    13??????*?@param?args
    14??????*/
    15?????public?static?void?main(String[]?args)?{
    16?????????//第一步,創建根元素?
    17?
    18?????????Element?carElement?=?new?Element("car");?
    19?????????Document?myDocument?=?new?Document(carElement);?
    20?
    21?????????//因為一個?XML?文檔必須一直有一個唯一的根元素,所以?Document?將?Element?放在它的構造器中。?
    22?
    23?????????//第二步,添加一個?Attribute?
    24?
    25?????????carElement.setAttribute(new?Attribute("vin",?"123fhg5869705iop90"));?
    26?
    27?????????//第三步,添加其它元素?
    28?
    29?????????carElement.addContent(new?Element("make").addContent("Toyota"));?
    30?
    31?????????carElement.addContent(new?Element("model").addContent("Celica"));?
    32?????????carElement.addContent(new?Element("year").addContent("1997"));?
    33?????????carElement.addContent(new?Element("color").addContent("green"));?
    34?????????carElement.addContent(new?Element("license").addContent("1ABC234").setAttribute("state",?"CA"));?
    35?
    36?????????//第四步,添加一條注釋?
    37?
    38?????????carElement.addContent(new?Comment("Description?of?a?car"));?
    39?
    40?????????//第五步,讀一個子元素?
    41?
    42?????????Element?yearElement?=?carElement.getChild("year");?
    43?
    44?????????//第六步,刪除子元素?
    45?
    46?????????boolean?removed?=?carElement.removeChild("year");?
    47?
    48?????????//第七步,存盤?
    49?????????XMLOutputter?outputter?=?new?XMLOutputter();//用于輸出jdom?文檔
    50?????????FileWriter?writer;
    51?????????try?{
    52?????????????writer?=?new?FileWriter("myFile.xml");
    53?????????????outputter.output(myDocument,?writer);?
    54?????????????writer.close();
    55?????????}?catch?(IOException?e)?{
    56?????????????//?TODO?自動生成?catch?塊
    57?????????????e.printStackTrace();
    58?????????}?
    59?????????
    60?
    61?????}
    62?}
    63?
    64?

    生成的XML:
    <?xml?version="1.0"?encoding="UTF-8"?>
    <car?vin="123fhg5869705iop90">
    <make>Toyota</make>
    <model>Celica</model>
    <color>green</color>
    <license?state="CA">1ABC234</license>
    <!--Description?of?a?car-->
    </car>

    posted on 2006-08-21 11:18 千山鳥飛絕 閱讀(555) 評論(0)  編輯  收藏 所屬分類: J2SE
    正在閱讀:



    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(35)

    隨筆檔案

    文章分類

    文章檔案

    好友的blog

    我的其他blog

    老婆的Blog

    搜索

    •  

    積分與排名

    • 積分 - 775185
    • 排名 - 56

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲高清不卡在线观看| 中文字幕亚洲激情| 3344永久在线观看视频免费首页| 国产精品视频白浆免费视频| 18级成人毛片免费观看| 91天堂素人精品系列全集亚洲| 亚洲精品久久无码| jizz免费观看| 91福利视频免费观看| 哒哒哒免费视频观看在线www| 亚洲日韩精品射精日| 亚洲av成本人无码网站| 久久青草91免费观看| 亚洲综合一区二区国产精品| 特级毛片aaaa级毛片免费| 免费不卡在线观看AV| 2048亚洲精品国产| 亚洲综合国产成人丁香五月激情| 人妻免费久久久久久久了| 亚洲免费视频观看| 亚洲码国产精品高潮在线| 久久中文字幕免费视频| 久久久久亚洲AV成人网| 光棍天堂免费手机观看在线观看| 女人被男人躁的女爽免费视频| 亚洲精品无码MV在线观看| 久久久久久久99精品免费| 亚洲伊人久久大香线蕉在观| 中文在线免费看视频| 免费看www视频| 亚洲系列中文字幕| 日韩免费人妻AV无码专区蜜桃| 亚洲第一页在线播放| 国产青草视频免费观看97| 亚洲日本久久久午夜精品| 日韩精品无码专区免费播放| 亚洲国产成人超福利久久精品| 国产一级淫片免费播放电影| 国产成人精品日本亚洲语音| 最新69国产成人精品免费视频动漫| 深夜免费在线视频|