隨筆-3  評論-0  文章-4  trackbacks-0
          http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libXmlRequest.html
          ( ajax javascript 處理xml)
          沒搞定,以為可以用這個js自如的處理xml,結(jié)果處處報錯
          var oXml = getXml("sample_data.xml");
          var aNodes = selectNodes(oXml,"/sample-data-root/the-data",oXml.documentElement);
          這個js里根本沒有如下這個方法
        1. [xml_document] = getXml(sPath): a synchronous GET request, returns null or an xml document object ,是另外一個,里面帶了N多參數(shù),試了試還是不能用,難道是js下錯了?郁悶.....
        2. 換了個方法來處理讀入的xml文件
          文件:formdatas.xml
          <?xml version="1.0" encoding="gb2312"?>
          <formdatas>
          ? <data>
          ?? <address>地址</address>??????????????????????????????????? #text
          ?? <productaddress>生產(chǎn)地址</productaddress>?? #text
          ?? <diploma>大專</diploma>????????????????????????????????? #select
          ?? <type>二類|四類|三類</type>?????????????????????????? #checkbox
          ?? <sex>女</sex>?????????????????????????????????????????????????? #radio
          ?? <date>2005年12月31日</date>??????????????????????? #text
          ?? <memo>備注</memo>????????????????????????????????????? #textarea???
          ?? </data>??
          </formdatas>
          js片段:
          function updateform(xmlname,obj){??
          ?var url = ""+xmlname;

          ?if(document.implementation&&document.implementation.createDocument) {
          ??
          ??var xmldoc = document.implementation.createDocument("", "", null);
          ??xmldoc.onload =? handler(xmldoc, obj);
          ??xmldoc.load(url);
          ?}
          ?else if(window.ActiveXObject) {
          ??
          ??var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
          ??xmldoc.onreadystatechange = function() {
          ???if(xmldoc.readyState == 4) handler(xmldoc, obj);
          ??}
          ??xmldoc.load(url);
          ?}
          }

          function handler(xmldoc, obj) {
          ?var formdatas = xmldoc.getElementsByTagName("data")[0];?
          ?for (var i=0;i<obj.length ;i++ ){
          ???e=obj[i];?????
          ???if (e.name != '') //表單中的e.name對應xml里的tagName,利用對應關(guān)系,將值寫入表單中
          ???{????
          ????if ( e.type == 'text' || e.type == 'textarea'){?????
          ?????e.value = formdatas.getElementsByTagName(e.name)[0].firstChild.data;???
          ????}
          ????if( e.type == 'checkbox' || e.type == 'radio'){
          ?????var temp = formdatas.getElementsByTagName(e.name)[0].firstChild.data.split("|");?????
          ?????for(var k=0; k<temp.length; k++){
          ??????//alert( temp[k] );
          ??????if( e.value == temp[k] ) e.checked = true;
          ?????}
          ????}
          ????if( e.type == 'select-one' ){
          ?????var selvalue = formdatas.getElementsByTagName(e.name)[0].firstChild.data;
          ?????document.getElementById(e.name+"div").innerHTML="";
          ?????document.getElementById(e.name+"div").innerHTML=selvalue;
          ????}

          ???}
          ?}
          }
          效果:點擊"讀取xml文件"按鈕,將相應的值解析到文本框中,如下所示:
          aa.bmp

          posted on 2006-05-18 19:54 簡易 閱讀(310) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 错那县| 娱乐| 萝北县| 灵川县| 武邑县| 江华| 偃师市| 古蔺县| 如东县| 霞浦县| 卢氏县| 封丘县| 衡山县| 邵阳县| 四平市| 吴旗县| 元阳县| 荔波县| 江西省| 赣榆县| 和田市| 黎川县| 万全县| 巫山县| 隆尧县| 连州市| 连南| 滁州市| 安多县| 黄骅市| 凭祥市| 克拉玛依市| 龙门县| 神木县| 沙雅县| 山东| 尚义县| 枣强县| 磐安县| 镇赉县| 盐山县|