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

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

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

    心遠專欄

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      24 隨筆 :: 0 文章 :: 9 評論 :: 0 Trackbacks

    1.生成一個XML文件:

    public ? void ?generateDocument()? {
    ????????
    /**
    ?????????*?使用?DocumentHelper?類創建一個文檔實例。?
    ?????????*?DocumentHelper?是生成?XML?文檔節點的?dom4j?API?工廠類。
    ?????????
    */

    ????????Document?document?
    = ?DocumentHelper.createDocument();
    ????????
    /**
    ?????????*?使用?addElement()?方法創建根元素?catalog?。?
    ?????????*?addElement()?用于向?XML?文檔中增加元素。
    ?????????
    */

    ????????Element?catalogElement?
    = ?document.addElement( " catalog " );
    ????????
    /**
    ?????????*?在?catalog?元素中使用?addComment()?方法添加注釋“An?XML?catalog”。?
    ?????????
    */

    ????????catalogElement.addComment(
    " An?XML?catalog " );
    ????????
    /**
    ?????????*?在?catalog?元素中使用?addElement()?方法增加?journal?元素。
    ?????????
    */

    ????????Element?journalElement?
    = ?catalogElement.addElement( " journal " );
    ????????
    /**
    ?????????*?使用?addAttribute()?方法向?journal?元素添加?title?和?publisher?屬性。
    ?????????
    */

    ????????journalElement.addAttribute(
    " title " ,? " XML?Zone " );
    ????????journalElement.addAttribute(
    " publisher " ,? " IBM?developerWorks " );

    ????????
    /**
    ?????????*?向?article?元素中添加?journal?元素。?
    ?????????
    */

    ????????Element?articleElement?
    = ?journalElement.addElement( " article " );
    ????????
    /**
    ?????????*?為?article?元素增加?level?和?date?屬性。?
    ?????????
    */

    ????????articleElement.addAttribute(
    " level " ,? " Intermediate " );
    ????????articleElement.addAttribute(
    " date " ,? " December-2001 " );
    ????????
    /**
    ?????????*?向?article?元素中增加?title?元素。?
    ?????????
    */

    ????????Element?titleElement?
    = ?articleElement.addElement( " title " );
    ????????
    /**
    ?????????*?使用?setText()?方法設置?article?元素的文本。?
    ?????????
    */

    ????????titleElement.setText(
    " Java?configuration?with?XML?Schema " );
    ????????
    /**
    ?????????*?在?article?元素中增加?author?元素。?
    ?????????
    */

    ????????Element?authorElement?
    = ?articleElement.addElement( " author " );
    ????????
    /**
    ?????????*?在?author?元素中增加?firstname?元素并設置該元素的文本。?
    ?????????
    */

    ????????Element?firstNameElement?
    = ?authorElement.addElement( " firstname " );
    ????????firstNameElement.setText(
    " Macello " );
    ????????
    /**
    ?????????*?在?author?元素中增加?lastname?元素并設置該元素的文本。?
    ?????????
    */

    ????????Element?lastNameElement?
    = ?authorElement.addElement( " lastname " );
    ????????lastNameElement.setText(
    " Vitaletti " );

    ????????
    try ? {
    ????????????XMLWriter?output?
    = ? new ?XMLWriter( new ?FileWriter( new ?File(
    ????????????????????
    " demo/catalog.xml " )));
    ????????????output.write(document);
    ????????????output.close();
    ????????}
    ? catch ?(IOException?e)? {
    ????????????e.printStackTrace();
    ????????}

    }

    生成的XML文件如下所示:

    <? xml?version="1.0"?encoding="UTF-8" ?>
    < catalog >
    <!-- An?XML?catalog -->
    ????
    < journal? title ="XML?Zone" ?publisher ="IBM?developerWorks" >
    ????????
    < article? level ="Intermediate" ?date ="December-2001" >
    ????????????
    < title > Java?configuration?with?XML?Schema </ title >
    ????????????
    < author >
    ????????????????
    < firstname > Macello </ firstname >
    ????????????????
    < lastname > Vitaletti </ lastname >
    ????????????
    </ author >
    ????????
    </ article >
    ????
    </ journal >
    </ catalog >


    2.讀取該文件,輸出firstname和lastname:

    public ? void ?outPutInfo(String?filename) {
    ????????
    try ? {?
    ????????????File?f?
    = ? new ?File(filename);?
    ????????????SAXReader?reader?
    = ? new ?SAXReader();?
    ????????????Document?doc?
    = ?reader.read(f);?
    ????????????
    ????????????List?list?
    = ?doc.selectNodes( " //article " );
    ????????????Iterator?iter?
    = ?list.iterator();
    ????????????
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Element?element?
    = ?(Element)?iter.next();
    ????????????????Element?nameElement?
    = ? null ;
    ????????????????Iterator?iterator?
    = ?element.elementIterator( " author " );
    ????????????????
    while ?(iterator.hasNext())? {
    ????????????????????nameElement?
    = ?(Element)?iterator.next();
    ????????????????????System.out.println(nameElement.elementText(
    " firstname " ));
    ????????????????????System.out.println(nameElement.elementText(
    " lastname " ));
    ????????????????}

    ????????????}

    ????????}
    ? catch ?(Exception?e)? {?
    ????????????e.printStackTrace();?
    ????????}
    ?
    ????}


    3.修改該文件;

    public ? void ?modifyDocument(String?filename)? {
    ????????
    try ? {
    ????????????File?inputXml?
    = ? new ?File(filename);
    ????????????
    ????????????SAXReader?saxReader?
    = ? new ?SAXReader();
    ????????????Document?document?
    = ?saxReader.read(inputXml);

    ????????????
    /**
    ?????????????*?inputXml?是從?catalog.xml?創建的?java.io.File。
    ?????????????*?使用?XPath?表達式從?article?元素中獲得?level?節點列表。
    ?????????????*?如果?level?屬性值是“Intermediate”則改為“Introductory”。?
    ?????????????
    */

    ????????????List?list?
    = ?document.selectNodes( " //article/@level " );
    ????????????Iterator?iter?
    = ?list.iterator();
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Attribute?attribute?
    = ?(Attribute)?iter.next();
    ????????????????
    if ?(attribute.getValue().equals( " Intermediate " ))
    ????????????????????attribute.setValue(
    " Introductory " );
    ????????????}


    ????????????list?
    = ?document.selectNodes( " //article/@date " );
    ????????????iter?
    = ?list.iterator();
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Attribute?attribute?
    = ?(Attribute)?iter.next();
    ????????????????
    if ?(attribute.getValue().equals( " December-2001 " ))
    ????????????????????attribute.setValue(
    " October-2002 " );

    ????????????}

    ????????????
    ????????????
    /**
    ?????????????*?獲取?article?元素列表,從?article?元素中的?title?元素得到一個迭代器,并修改?title?元素的文本。?
    ?????????????
    */

    ????????????list?
    = ?document.selectNodes( " //article " );
    ????????????iter?
    = ?list.iterator();
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Element?element?
    = ?(Element)?iter.next();
    ????????????????Iterator?iterator?
    = ?element.elementIterator( " title " );
    ????????????????
    while ?(iterator.hasNext())? {
    ????????????????????Element?titleElement?
    = ?(Element)?iterator.next();
    ????????????????????
    if ?(titleElement.getText().equals(
    ????????????????????????????
    " Java?configuration?with?XML?Schema " ))
    ????????????????????????titleElement
    ????????????????????????????????.setText(
    " Create?flexible?and?extensible?XML?Schema " );

    ????????????????}

    ????????????}


    ????????????list?
    = ?document.selectNodes( " //article/author " );
    ????????????iter?
    = ?list.iterator();
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Element?element?
    = ?(Element)?iter.next();
    ????????????????Iterator?iterator?
    = ?element.elementIterator( " firstname " );
    ????????????????
    while ?(iterator.hasNext())? {
    ????????????????????Element?firstNameElement?
    = ?(Element)?iterator.next();
    ????????????????????
    if ?(firstNameElement.getText().equals( " Marcello " ))
    ????????????????????????firstNameElement.setText(
    " Ayesha " );
    ????????????????}

    ????????????}


    ????????????list?
    = ?document.selectNodes( " //article/author " );
    ????????????iter?
    = ?list.iterator();
    ????????????
    while ?(iter.hasNext())? {
    ????????????????Element?element?
    = ?(Element)?iter.next();
    ????????????????Iterator?iterator?
    = ?element.elementIterator( " lastname " );
    ????????????????
    while ?(iterator.hasNext())? {
    ????????????????????Element?lastNameElement?
    = ?(Element)?iterator.next();
    ????????????????????
    if ?(lastNameElement.getText().equals( " Vitaletti " ))
    ????????????????????????lastNameElement.setText(
    " Malik " );

    ????????????????}


    ????????????}

    ????????????XMLWriter?output?
    = ? new ?XMLWriter( new ?FileWriter( new ?File(
    ????????????????????
    " catalog-modified.xml " )));
    ????????????output.write(document);
    ????????????output.close();
    ????????}
    ? catch ?(DocumentException?e)? {
    ????????????System.out.println(e.getMessage());
    ????????}
    ? catch ?(IOException?e)? {
    ????????????System.out.println(e.getMessage());
    ????????}

    ????}
    更新后的XML文件內容如下所示:
    <?xml?version="1.0"?encoding="UTF-8"?>
    <catalog>
    <!--An?XML?catalog-->
    ????
    <journal?title="XML?Zone"?publisher="IBM?developerWorks">
    ????????
    <article?level="Introductory"?date="October-2002">
    ????????????
    <title>Create?flexible?and?extensible?XML?Schema</title>
    ????????????
    <author>
    ????????????????
    <firstname>Macello</firstname>
    ????????????????
    <lastname>Malik</lastname>
    ????????????
    </author>
    ????????
    </article>
    ????
    </journal>
    </catalog>

    posted on 2006-11-13 12:48 心遠 閱讀(170) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 久久国产亚洲电影天堂| 一级毛片免费观看| 在线aⅴ亚洲中文字幕| 亚洲精品色午夜无码专区日韩| 男女啪啪永久免费观看网站| 国产精品免费网站| 亚洲国产精品免费视频| 一级人做人a爰免费视频| 亚洲欧美日韩综合久久久久 | 国产天堂亚洲国产碰碰| 亚洲日韩乱码中文无码蜜桃臀| 亚洲国产另类久久久精品黑人| 免费永久在线观看黄网站| 国产福利在线观看免费第一福利| 久久免费区一区二区三波多野| 国产免费内射又粗又爽密桃视频| 国产精品亚洲精品日韩动图| 亚洲精品乱码久久久久蜜桃 | 亚洲一级毛片免费观看| 久久久久久AV无码免费网站 | 国产AV无码专区亚洲AWWW| 午夜国产羞羞视频免费网站| 巨胸喷奶水视频www网免费| 麻豆最新国产剧情AV原创免费 | 亚洲精品国偷自产在线| 国产精品亚洲αv天堂无码| 国产资源免费观看| 国产精品无码素人福利免费| 成人免费无码大片A毛片抽搐| 免费看美女被靠到爽| 天天摸天天碰成人免费视频| 好爽…又高潮了毛片免费看| 成人免费视频软件网站| 午夜一区二区免费视频| 日本媚薬痉挛在线观看免费| 日韩免费毛片视频| 亚洲AV成人潮喷综合网| 亚洲一区二区三区乱码A| 中文字幕亚洲一区| 亚洲av无码一区二区乱子伦as| 亚洲成AV人片在|