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

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

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

    我為人人,人人為我

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

    Dom4j簡單學習

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


    在使用dom4j讀取xml的字符串是出現了不支持中文的問題。xml數據中有中文,在讀取xml的時候總是出現異常(org.dom4j.DocumentException: Error on line -1 of document  : unsupported five or six byte UTF-8 sequence),但是因為卻沒有問題。開始以為dom4j對中文支持有問題,但是后來發現并非開始所想那樣。

     

    Code

    SAXReader objReader = new SAXReader();

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

    查看jdk中對類StringBufferInputStream的注釋:注釋:不推薦使用 StringBufferInputStream 方法。 此類不能將字符正確的轉換為字節。同 JDK 1.1 版中的類似,從一個串創建一個流的最佳方法是采用 StringReader 類。至此才恍然大悟,原來StringBufferInputStream類不支持八字節以上的字符。

     

    Dom4j解析xml方法:

    SAXReader objReader = new SAXReader();

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

    //read 方法有很多重載,具體請看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 = "<學生信息><學生><編號>001</編號><姓名>張三</姓名>"

                  + "<年齡>23</年齡></學生></學生信息>";

     

           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);// 創建 document.

           rootElement = doc.getRootElement();

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

           newStudent.add(DocumentHelper.createElement("編號").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();// 創建美化格式

           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();

     

        }

    }

     



    做人簡單一點好


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 国产免费看JIZZ视频| 免费能直接在线观看黄的视频| 日韩高清免费观看| 亚洲中文字幕无码久久| 野花高清在线观看免费3中文 | 国产精品免费久久久久久久久| 免费人成无码大片在线观看| 国产亚洲福利精品一区二区| 亚洲AV无码乱码在线观看| 美女被羞羞网站免费下载| 亚洲国产天堂久久综合| 国产精品99爱免费视频| 国产精品亚洲аv无码播放| 精品视频一区二区三区免费| 亚洲国产人成网站在线电影动漫| 在线a免费观看最新网站| 国产成人精品日本亚洲网址| 成人永久福利免费观看| 免费无码午夜福利片| 亚洲国产精品嫩草影院在线观看| 十八禁无码免费网站| 亚洲伊人色一综合网| 国产精品公开免费视频| 国产成人1024精品免费| 亚洲V无码一区二区三区四区观看 亚洲αv久久久噜噜噜噜噜 | 九一在线完整视频免费观看| 狠狠亚洲婷婷综合色香五月排名 | 国产四虎免费精品视频| 亚洲美国产亚洲AV| 亚洲无线码一区二区三区| 91人人区免费区人人| 亚洲av永久中文无码精品综合| 亚洲伊人久久成综合人影院| 色欲A∨无码蜜臀AV免费播| 亚洲中文字幕AV每天更新| 久久精品国产精品亚洲人人 | 青青青视频免费观看| 亚洲91av视频| 免费激情视频网站| 免费的全黄一级录像带| 亚洲人成77777在线观看网|