<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
    主站蜘蛛池模板: 日本免费网站视频www区| 国产在线观看免费视频播放器| 亚洲国产精品综合久久网各| 成年人免费观看视频网站| 日韩大片免费观看视频播放| 久久夜色精品国产嚕嚕亚洲av| 国产香蕉九九久久精品免费| 四虎国产精品永免费| 亚洲老熟女@TubeumTV| vvvv99日韩精品亚洲| 16女性下面扒开无遮挡免费| 添bbb免费观看高清视频| 久久亚洲精品人成综合网| 亚洲av无码专区在线观看素人| 99久久国产免费-99久久国产免费 99久久国产免费中文无字幕 | 亚洲免费观看视频| 青青青国产免费一夜七次郎| 中文字幕乱码系列免费| 亚洲乱色熟女一区二区三区蜜臀| 亚洲无线观看国产精品| 日韩免费毛片视频| 最刺激黄a大片免费网站| 一个人看的hd免费视频| 亚洲综合无码一区二区痴汉| 亚洲成人动漫在线| 国产精品V亚洲精品V日韩精品| 成人毛片免费在线观看| 鲁大师在线影院免费观看| 一级做a爰片久久毛片免费看| 亚洲av专区无码观看精品天堂| 亚洲精品乱码久久久久66| 在线观看国产情趣免费视频| 0588影视手机免费看片| 免费无码黄网站在线看| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 精品亚洲成a人片在线观看少妇| 亚洲伊人成无码综合网 | 亚洲AV人无码激艳猛片| 亚洲日韩中文字幕日韩在线 | 亚洲免费观看在线视频| 亚洲av无码一区二区三区乱子伦|