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

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

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

    我為人人,人人為我

    PLM,PDM制造業(yè)的制勝法寶
    posts - 16, comments - 9, trackbacks - 0, articles - 1
      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    Dom4j簡(jiǎn)單學(xué)習(xí)

    Posted on 2007-07-13 21:41 Glen 閱讀(1337) 評(píng)論(0)  編輯  收藏 所屬分類: XML相關(guān)


    在使用dom4j讀取xml的字符串是出現(xiàn)了不支持中文的問(wèn)題。xml數(shù)據(jù)中有中文,在讀取xml的時(shí)候總是出現(xiàn)異常(org.dom4j.DocumentException: Error on line -1 of document  : unsupported five or six byte UTF-8 sequence),但是因?yàn)閰s沒有問(wèn)題。開始以為dom4j對(duì)中文支持有問(wèn)題,但是后來(lái)發(fā)現(xiàn)并非開始所想那樣。

     

    Code

    SAXReader objReader = new SAXReader();

    Document objDom = objReader.read(new StringBufferInputStream(strXML));

    查看jdk中對(duì)類StringBufferInputStream的注釋:注釋:不推薦使用 StringBufferInputStream 方法。 此類不能將字符正確的轉(zhuǎn)換為字節(jié)。同 JDK 1.1 版中的類似,從一個(gè)串創(chuàng)建一個(gè)流的最佳方法是采用 StringReader 類。至此才恍然大悟,原來(lái)StringBufferInputStream類不支持八字節(jié)以上的字符。

     

    Dom4j解析xml方法:

    SAXReader objReader = new SAXReader();

    Document   objDom    = objReader.read(new StringReader(strXML));

    //read 方法有很多重載,具體請(qǐng)看api

    Document   objDom = DocumentHelper.parseText(strTemplateInfo);

     

    Dom4j讀寫xml例程

    package oracle.erp.test;

     

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

     

    import org.dom4j.Document;

    import org.dom4j.DocumentException;

    import org.dom4j.DocumentHelper;

    import org.dom4j.Element;

    import org.dom4j.io.OutputFormat;

    import org.dom4j.io.XMLWriter;

     

    public class Dom4jTest {

     

        public static void main(String[] args) {

           String strXml = "<學(xué)生信息><學(xué)生><編號(hào)>001</編號(hào)><姓名>張三</姓名>"

                  + "<年齡>23</年齡></學(xué)生></學(xué)生信息>";

     

           try {

               ReadAndWriteXml(strXml);

           } catch (Exception e) {

               e.printStackTrace();

           }

        }

     

        /**

         * Description:讀取并修改xml,寫入文件

         * @param strXml xml String

         * @throws DocumentException

         */

        public static void ReadAndWriteXml(String strXml) throws Exception {

           Document doc = null;

           Element rootElement = null;

     

           doc = DocumentHelper.parseText(strXml);// 創(chuàng)建 document.

           rootElement = doc.getRootElement();

           Element newStudent = DocumentHelper.createElement("學(xué)生");

           newStudent.add(DocumentHelper.createElement("編號(hào)").addText("002"));

           newStudent.add(DocumentHelper.createElement("姓名").addText("李四"));

           newStudent.add(DocumentHelper.createElement("年齡").addText("24"));

           rootElement.add(newStudent);

           System.out.println(doc.asXML());

     

           // 寫文件

           OutputFormat format = OutputFormat.createPrettyPrint();// 創(chuàng)建美化格式

           format.setEncoding("utf-8");

           XMLWriter studentwriter = null;

           studentwriter = new XMLWriter(

                  new FileOutputStream(new File("c:/student.xml")), format);// "c:\"下寫入student.xml文件

           studentwriter.write(doc);// XML文檔

           studentwriter.close();

     

        }

    }

     



    做人簡(jiǎn)單一點(diǎn)好


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 最近免费中文在线视频| 中文字幕在线免费观看视频| 久久国产免费观看精品3| 亚洲精品制服丝袜四区| 黄色网址免费在线观看| 亚洲天堂免费在线视频| 一道本不卡免费视频| 亚洲va中文字幕无码| AAAAA级少妇高潮大片免费看| 最新精品亚洲成a人在线观看| 国产精品高清免费网站 | 日本亚洲高清乱码中文在线观看| 手机在线毛片免费播放| WWW亚洲色大成网络.COM| 免费中文字幕一级毛片| 国产精品免费观看视频| 黑人精品videos亚洲人| 99热在线精品免费播放6| 亚洲videos| 四虎影视永久免费观看| 国产精品免费久久久久电影网| 欧洲亚洲国产清在高| 1000部无遮挡拍拍拍免费视频观看| 亚洲成aⅴ人片在线观| 日韩中文无码有码免费视频 | 亚洲AV成人无码久久WWW| 国产jizzjizz免费视频| 免费网站观看WWW在线观看| 久久精品国产亚洲AV电影| 成年丰满熟妇午夜免费视频| 免费一级毛suv好看的国产网站| 精品亚洲综合在线第一区| 国产a视频精品免费观看| 国产成人亚洲综合在线| 久久夜色精品国产亚洲| 免费看www视频| 嫩草在线视频www免费观看| 一本色道久久88—综合亚洲精品 | 国产三级免费观看| 久久久免费的精品| 亚洲AV无码一区二区三区性色 |