<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

    搜索

    •  

    積分與排名

    • 積分 - 775144
    • 排名 - 56

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 天天综合亚洲色在线精品| 黄色片网站在线免费观看| 免费无码又爽又高潮视频 | 亚洲国产成人久久综合碰碰动漫3d| 久久免费美女视频| 亚洲日本一线产区和二线| 亚洲一级片免费看| 中国在线观看免费国语版| 一级视频在线免费观看| 亚洲人成网站18禁止久久影院 | 亚洲乱码无码永久不卡在线 | 亚洲国产成人久久综合一 | 亚洲中文久久精品无码ww16| 95老司机免费福利| 日韩免费高清一级毛片| 亚洲精品在线播放| 国产成人亚洲精品狼色在线| 一二三四在线播放免费观看中文版视频 | 亚洲黄黄黄网站在线观看| 国产高清免费视频| 国产免费高清69式视频在线观看| 亚洲H在线播放在线观看H| 国产精品亚洲成在人线| 又黄又大又爽免费视频| 免费看成人AA片无码视频羞羞网| 中文字幕成人免费高清在线| 亚洲高清一区二区三区电影| 亚洲精彩视频在线观看| 亚洲欧洲日产国码av系列天堂 | 97在线观免费视频观看 | 亚洲AV无码一区二区三区国产| 青青青国产在线观看免费网站| 中文字幕av免费专区| 美女被免费网站视频在线| 亚洲一区欧洲一区| 亚洲成人福利在线| 久久久亚洲裙底偷窥综合| 亚洲精品国产精品乱码不卡√| 亚洲国产黄在线观看| 国产真人无遮挡作爱免费视频| 思思re热免费精品视频66|