<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的相互轉(zhuǎn)換

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


    一、使用最原始的javax.xml.parsers,標(biāo)準(zhǔn)的jdk api

    // 字符串轉(zhuǎn)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轉(zhuǎn)字符串
    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后程序變得更簡單

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

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

    這里的XML DOCUMENT為org.dom4j.Document

    三、使用JDOM

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

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

    //XML轉(zhuǎn)字符串
    Format format = Format.getPrettyFormat();
    format.setEncoding(\"gb2312\");//設(shè)置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中的處理


    //字符串轉(zhuǎn)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轉(zhuǎn)字符串
    var xmlDoc = ......;
    var xmlStr = xmlDoc.xml

    這里的XML DOCUMENT為javascript版的XMLDOM

    posted on 2006-07-13 12:52 船長 閱讀(1562) 評論(0)  編輯  收藏 所屬分類: J2EE
    主站蜘蛛池模板: 自怕偷自怕亚洲精品| 国产AV无码专区亚洲AV漫画 | 亚洲久悠悠色悠在线播放| 99免费观看视频| 老司机精品视频免费| 亚洲成年人电影网站| 亚洲国产精品无码AAA片| 国产成人无码免费视频97| 国产成人高清精品免费观看| 亚洲一区二区无码偷拍| 久久久亚洲裙底偷窥综合| 夜夜春亚洲嫩草影院| 亚洲国产成人爱av在线播放| 天天摸天天碰成人免费视频| 1000部拍拍拍18勿入免费视频下载| 亚洲日韩AV无码一区二区三区人| 亚洲制服中文字幕第一区| 亚洲国产精品乱码一区二区| 免费成人午夜视频| 啦啦啦www免费视频| 91嫩草国产在线观看免费| 97精品免费视频| 爱爱帝国亚洲一区二区三区| 国内精品久久久久影院亚洲| 亚洲经典在线观看| 又大又硬又爽免费视频| 日韩中文字幕在线免费观看| 性色av无码免费一区二区三区| 国产VA免费精品高清在线| 男人j进女人p免费视频| 人人狠狠综合久久亚洲| 久久久久久亚洲精品中文字幕| 最新亚洲成av人免费看| 国产精品亚洲产品一区二区三区| 免费一级做a爰片性色毛片| 国产女高清在线看免费观看| 国产免费观看青青草原网站| 亚洲av无码国产精品色在线看不卡| 国产精品久免费的黄网站 | 亚洲91精品麻豆国产系列在线| 国产又黄又爽又刺激的免费网址 |