<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 船長 閱讀(1562) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 亚洲天堂免费在线| 亚洲视频一区二区三区| 国产亚洲成在线播放va| 免费鲁丝片一级在线观看| 亚洲乱码一区二区三区国产精品| 91嫩草免费国产永久入口| 91亚洲国产成人久久精品网址 | 亚洲综合网站色欲色欲| 有色视频在线观看免费高清在线直播 | 成年女人视频网站免费m| 亚洲视频在线观看网站| **俄罗斯毛片免费| 亚洲熟妇少妇任你躁在线观看| 免费看片免费播放| 免费福利在线观看| 国产精品亚洲片在线观看不卡 | 亚洲人成无码网站| 3344免费播放观看视频| 精品久久亚洲中文无码| 在线观看亚洲免费视频| 一级做a爰性色毛片免费| 婷婷亚洲综合五月天小说| 成视频年人黄网站免费视频| 亚洲av日韩av永久无码电影| 久久久久久久亚洲精品| 国产精品免费福利久久| 亚洲va成无码人在线观看| 国产yw855.c免费视频| 97在线视频免费公开视频| 亚洲最大在线视频| 四虎免费永久在线播放| 免费无码又爽又刺激网站| 亚洲人配人种jizz| 亚洲精品国产精品乱码不卡| 69视频在线是免费观看| 国产亚洲综合视频| 久久精品国产亚洲AV麻豆网站 | 国产美女被遭强高潮免费网站 | 久99久无码精品视频免费播放| 久久久久亚洲AV片无码下载蜜桃| 在线精品免费视频|