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

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

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

    隨筆-72  評論-63  文章-0  trackbacks-0
    XML字符串和XML DOCUMENT的相互轉換

    在做一般的XML數據交換過程中,我更樂意傳遞XML字符串,而不是格式化的XML Document。這就涉及到XML字符串和Xml Document的轉換問題,說白了這是個很簡單的問題,本文就各種XML解析器分別列舉如下,以方便自己今后查閱。


    一、使用最原始的javax.xml.parsers,標準的jdk api

    // 字符串轉XML
    String xmlStr = \"......\";
    StringReader sr = new StringReader(xmlStr);
    InputSource is = new InputSource(sr);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder=factory.newDocumentBuilder();
    Document doc = builder.parse(is);

    //XML轉字符串
    TransformerFactory? tf? =? TransformerFactory.newInstance();
    Transformer t = tf.newTransformer();
    t.setOutputProperty(\"encoding\",\"GB23121\");//解決中文問題,試過用GBK不行
    ByteArrayOutputStream? bos? =? new? ByteArrayOutputStream();
    t.transform(new DOMSource(doc), new StreamResult(bos));
    String xmlStr = bos.toString();

    這里的XML DOCUMENT為org.w3c.dom.Document

    二、使用dom4j后程序變得更簡單

    // 字符串轉XML
    String xmlStr = \"......\";
    Document document = DocumentHelper.parseText(xmlStr);

    // XML轉字符串
    Document document = ...;
    String text = document.asXML();

    這里的XML DOCUMENT為org.dom4j.Document

    三、使用JDOM

    JDOM的處理方式和第一種方法處理非常類似

    //字符串轉XML
    String xmlStr = \".....\";
    StringReader sr = new StringReader(xmlStr);
    InputSource is = new InputSource(sr);
    Document doc = (new SAXBuilder()).build(is);

    //XML轉字符串
    Format format = Format.getPrettyFormat();
    format.setEncoding(\"gb2312\");//設置xml文件的字符為gb2312,解決中文問題
    XMLOutputter xmlout = new XMLOutputter(format);
    ByteArrayOutputStream bo = new ByteArrayOutputStream();
    xmlout.output(doc,bo);
    String xmlStr = bo.toString();

    這里的XML DOCUMENT為org.jdom.Document

    四、JAVASCRIPT中的處理


    //字符串轉XML
    var xmlStr = \".....\";
    var xmlDoc = new ActiveXObject(\"Microsoft.XMLDOM\");
    xmlDoc.async=false;
    xmlDoc.loadXML(xmlStr);
    //可以處理這個xmlDoc了
    var name = xmlDoc.selectSingleNode(\"/person/name\");
    alert(name.text);

    //XML轉字符串
    var xmlDoc = ......;
    var xmlStr = xmlDoc.xml

    這里的XML DOCUMENT為javascript版的XMLDOM

    posted on 2006-07-13 12:52 船長 閱讀(1569) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 一级视频免费观看| 亚洲乱码国产乱码精品精| 色婷婷亚洲十月十月色天| 国产人成网在线播放VA免费| 免费一级毛片在级播放| 色窝窝亚洲av网| 国产青草视频在线观看免费影院| 亚洲熟妇av午夜无码不卡| 成人免费看黄20分钟| 亚洲欧美一区二区三区日产| 成人免费看吃奶视频网站| 久久水蜜桃亚洲AV无码精品| 国产成人免费ā片在线观看| 免费的黄色的网站| 国产精品亚洲w码日韩中文| 中文在线观看国语高清免费| 亚洲精品成人网站在线观看| 无码人妻丰满熟妇区免费| 亚洲成AV人片久久| 亚洲精品中文字幕乱码三区| 玖玖在线免费视频| 亚洲国产高清在线精品一区| 最新中文字幕免费视频| 美女免费视频一区二区| 国产亚洲综合网曝门系列| 91精品导航在线网址免费| 亚洲日韩国产AV无码无码精品| 免费jjzz在在线播放国产| a在线免费观看视频| 亚洲狠狠ady亚洲精品大秀| 日本人护士免费xxxx视频| 皇色在线免费视频| 亚洲国产av一区二区三区丶| 免费看国产精品麻豆| 老司机69精品成免费视频| 亚洲一级免费视频| 亚洲中文字幕伊人久久无码| 在线观看的免费网站无遮挡| 亚洲av无码一区二区三区天堂| 在线观看国产区亚洲一区成人| 亚洲人成免费电影|