<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
    主站蜘蛛池模板: 女人18毛片水真多免费播放| 成年人免费观看视频网站| 亚洲欧洲日产国码高潮αv| 色婷婷六月亚洲综合香蕉| 成人免费无遮挡无码黄漫视频| 亚洲av无码不卡久久| 99热在线精品免费全部my| 亚洲欧洲另类春色校园网站| 免费阿v网站在线观看g| 亚洲国产精品乱码在线观看97| 91频在线观看免费大全| ass亚洲**毛茸茸pics| 蜜臀91精品国产免费观看| 337P日本欧洲亚洲大胆艺术图| 免费v片视频在线观看视频| 特级毛片爽www免费版| 亚洲综合在线另类色区奇米| a级片免费在线播放| 久久99亚洲网美利坚合众国| 美女被免费喷白浆视频| 99亚洲精品卡2卡三卡4卡2卡| 亚洲国产综合人成综合网站| 成人片黄网站色大片免费观看APP| 久久精品国产亚洲av成人| 精品一区二区三区无码免费视频| 亚洲va在线va天堂va手机| 日本一道高清不卡免费| 九九九精品视频免费| 亚洲AV乱码久久精品蜜桃| 无遮免费网站在线入口| 免费无码一区二区| 亚洲高清专区日韩精品| 99久久这里只精品国产免费| 香蕉视频免费在线| 久久久久久久久亚洲| 成年在线网站免费观看无广告| 成人免费夜片在线观看| 久久综合亚洲色一区二区三区| 精品无码国产污污污免费| 成人自慰女黄网站免费大全| 国产精品高清视亚洲精品|