<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

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 四虎国产精品免费视| 夜夜春亚洲嫩草影院| 日韩一级视频免费观看| 中文亚洲成a人片在线观看| 亚洲成人免费网站| 美女尿口扒开图片免费| 无码AV片在线观看免费| 国产在线a不卡免费视频| 久久亚洲日韩看片无码| 日韩在线视频免费| 思思re热免费精品视频66| 77777亚洲午夜久久多人| 国产免费福利体检区久久| 国产高清视频在线免费观看| 亚洲真人无码永久在线观看| 91禁漫免费进入| 伊人久久亚洲综合| 182tv免费视频在线观看| 国产一级大片免费看| 黄色免费在线观看网址| 在线观看午夜亚洲一区| 亚洲免费在线播放| 国产人成亚洲第一网站在线播放| 日韩电影免费在线观看| 亚洲午夜福利精品无码| 亚洲AV无码一区二区乱子仑| 久久天天躁狠狠躁夜夜免费观看| 亚洲精品无码久久一线| 久久九九免费高清视频| 337p日本欧洲亚洲大胆艺术| 国产免费av片在线看| 亚洲制服丝袜中文字幕| 久草视频在线免费| 亚洲最大黄色网址| 在线观看免费亚洲| 欧洲人免费视频网站在线| 亚洲看片无码在线视频| 国产AV无码专区亚洲AV漫画| 永久免费在线观看视频| 亚洲国产91在线| 亚洲综合色成在线播放|