posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          問題: 對(duì)javascript Dom 解讀 xml? 的問題
          解決: 網(wǎng)頁(yè)中 javascript 學(xué)習(xí)

          過(guò)程 js
          function?searchSales(){
          ????
          var?url?=?"MyXml.xml";???????????// url 不限制 可以為 jsp? *.do? 只要 out.print()出來(lái)的 是 xml 格式
          ????
          var?myAjax?=?new?Ajax.Request(
          ???????????? ?url,
          ????
          {
          ????method:?'get',
          ????onComplete:?action????????????? // 成功得到 requ 的掛載方法
          ????}
          );
          }


          function??action(request)
          {
          ????
          var?dom?=?request.responseXML;??? //返回 javascript Dom 解讀對(duì)象
          ????
          ????
          var?list?=?dom.getElementsByTagName('Weapon');?
          ????????????????????????????????//返回標(biāo)簽名<Weapon>? 集合項(xiàng)可用.item(i) 得出? .firstChild.nodeValue得值
          ?
          ????
          for(?var?i?=?0;?i?<?list.length;?i++?)?{
          ????????
          var?nli?=?list.item(i);
          ????????
          var?W?=?nli.getElementsByTagName(?'W'?);
          ????????window.alert(W.item(
          0).firstChild.nodeValue);
          ????}

          ?????
          }

          HTML 頁(yè)面

          </HEAD>
          <head>
          ????
          <script?src="prototype1.5.0.js"></script>
          ????
          <script?src="xml.js"></script>
          </head>
          <input?id='test'?type="submit"?value="test"?onclick="searchSales();"?>
          </HTML>

          XML

          <?xml?version="1.0"?encoding="utf-8"??>
          <Login>

          ????
          <Weapon?id="1">
          ????????
          <W?Text="光束劍"?Value="0">1</W>
          ????????
          <W?Text="光束配刀"?Value="1">2</W>
          ????
          </Weapon>

          ????
          <Weapon?id="2">
          ????????
          <W?Text="光束劍"?Value="0">3</W>
          ????????
          <W?Text="光束配刀"?Value="1">4</W>
          ????
          </Weapon>
          ????
          ?????
          <Weapon?id="3">
          ????????
          <W?Text="光束劍"?Value="0">5</W>
          ????????
          <W?Text="光束配刀"?Value="1">6</W>
          ????
          </Weapon>
          </Login>

          心得: 調(diào)試了很久當(dāng)時(shí)對(duì)javascript 的不熟悉,但我沒有放棄 去網(wǎng)上查,問同事 最后成功
          ?????????????????---------------------?堅(jiān)持就是勝利?------------------

          評(píng)論

          # re: My Ajax  回復(fù)  更多評(píng)論   

          2007-05-18 17:35 by G_G
          function searchSales(){
              
          var url = "MyXml.xml";
              
          var myAjax = new Ajax.Request(
              url,
              
          {
              method: 'get',
              onComplete: test
              }
          );
          }


          function test(request)
          {
              
          var dom = request.responseXML;
              
          var root = dom.documentElement;
          //    window.alert( root );
              
              
          var list = dom.getElementsByTagName('W');  

              
          forvar i = 0; i < list.length; i++ ) {
                  window.alert(list.item(i).firstChild.nodeValue);
              }

               
          }

          得出結(jié)果是 1 2 3 4 5 6

          # re: My Ajax  回復(fù)  更多評(píng)論   

          2007-05-21 14:17 by G_G
          對(duì)象 屬性  方法
          XMLDocument
          documentElement
           得到   root
          HTMLCollection   length  得到長(zhǎng)度 item(i)  得到 Element
          Element .firstChild.nodeValue 得到 value?    getAttribute('id') 得到 attribut

           

           其他屬性方法參見 http://wddavid.cnblogs.com/archive/2005/07/25/199358.html
          function searchSales(){
              
          var url = "MyXml.xml";
              
          var myAjax = new Ajax.Request(
              url,
              
          {
              method: 'get',
              onComplete: test
              }
          );
          }


          function test(request)
          {
              
          var dom = request.responseXML;
              
          var root = dom.documentElement;    
              
          var body = root.getElementsByTagName('body').item(0);
              
          var pid_1 = function(){
                  
          var listP = body.getElementsByTagName('p');
                  
          for(var i=0; i<listP.length; i++){
                      
          if(listP.item(i).getAttribute('id')=='2')
                          
          return listP.item(i);
                  }

                  
          return null;
              }

          //    alert(oHtml.childNodes.item(0));
          //
              alert(oHead.parentNode==oHtml);  
          //
              alert( oP.item(0).getAttribute('id')  ); 
          //
              alert( oP.item(0).attributes.getNamedItem("id").nodeValue  ); 
          //
              alert( oP.getAttribute('id') );
              alert(pid_1().firstChild.nodeValue);
          }

          # re: My Ajax  回復(fù)  更多評(píng)論   

          2007-05-21 17:20 by G_G
          function searchSales(){
              
          var url = "MyXml.xml";
              
          var myAjax = new Ajax.Request(
              url,
              
          {
              method: 'get',
              onComplete: test
              }
          );
          }


           
          function getMyElement(obj,tagName,attrName,value) {
                   
          var list = obj.getElementsByTagName(tagName);
                  
          for(var i=0; i<list.length; i++){
                      
          if(list.item(i).getAttribute(attrName)==value)
                          
          return obj.getElementsByTagName(tagName).item(i);
                  }

                  
          return null;
           }

           
          function test(request)
          {
              
          var dom = request.responseXML;
              
          var root = dom.documentElement;    
              
          var weapon = getMyElement(root,'Weapon','id','3');
              
          var W = getMyElement(weapon,'W','Value','0');
              window.alert(W.firstChild.nodeValue);
          }

          哈哈 高級(jí)的  ...

          # 動(dòng)態(tài)javascript建表  回復(fù)  更多評(píng)論   

          2007-06-05 17:37 by G_G
          問題: Ajax 讀出來(lái)xml  怎么由 javascript 建表
          解決:   var dom = new ActiveXObject("Microsoft.XMLDOM"); //得到 XMLDom 對(duì)象
                      并 dom.loadXML( request.responseText ) ; 
                                        由prototype 的 request.responseText  填 充 XMLDom
                   
           http://localhost:7000/xxs/test.do        返回
                   一個(gè)String  弄出來(lái)的 XML  大概就如下
            <?xml version="1.0" encoding="gb2312" ?> 
          <mans>
          <man>
            
          <name>google</name> 
            
          <avg>23</avg> 
            
          </man>
          <man>
            
          <name>heha</name> 
            
          <avg>23</avg> 
            
          </man>
            
          </mans>
            
           
           

          <html>

            
          <head>
              
          <title>MyHtml.html</title>
                
          <SCRIPT language="Javascript" src="prototype1.5.0.js"></SCRIPT>
            
          </head>
                
          <body>
                  
          <input id='test' type="submit" value="test" onclick="searchSales();" >
              
          </body>
          </html>

          <script type="text/javascript">
          <!--
              
          function searchSales(){
                  
          var url = 'http://localhost:7000/xxs/test.do';           // url 不限制 可以為 jsp  *.do  只要 out.print()出來(lái)的 是 xml 格式
                  var myAjax = new Ajax.Request(
                  url,
                  
          {
                  method: 'get',
                  onComplete: action              
          // 成功得到 requ 的掛載方法
                  }
          );
              }

              
              
              
          function  action(request)
              
          {
                  
          var dom = new ActiveXObject("Microsoft.XMLDOM");
                  dom.loadXML(request.responseText);
                  
          var root = dom.documentElement;
                  
          var body = document.getElementsByTagName('body')[0];
                  
          var my_array = new Array();
                  my_array[
          0= "name";
                  my_array[
          1= "avg";
                  
          var table_1 = table(root,"man",my_array);
                  
                  table_1.setAttribute(
          "border","2");

                  body.appendChild(table_1);
              }

              
              
              
          function table(root,trName,tdNames) {
                  
          var tbl     = document.createElement('table')
                  
          var tblBody =  document.createElement('tbody')
                  
          var rows = root.getElementsByTagName(trName);
                  
          for (var i = 0; i <rows.length; i++{
                      
          var tr = document.createElement('tr')
                      
          for(var j=0;j<tdNames.length;j++){
                              
          var col = rows.item(i).getElementsByTagName(tdNames[j])[0];
                              
          var value =  col.firstChild.nodeValue ;
                               
          var td = document.createElement('td');
                               td.innerHTML 
          = value ;
                                tr.appendChild(td);
                     }

                      tblBody.appendChild(tr);
                  }

                 tbl.appendChild(tblBody);
               
          return tbl;
          }


          //-->
          </script>

          # re: XMLDOM 詳細(xì)說(shuō)明和網(wǎng)上有關(guān)資源 + 動(dòng)態(tài)javascript建表  回復(fù)  更多評(píng)論   

          2007-06-08 20:46 by wqdqw
          qwd
          主站蜘蛛池模板: 榆林市| 柘城县| 乌苏市| 九龙县| 搜索| 外汇| 积石山| 利辛县| 邹城市| 姚安县| 禹城市| 依安县| 红桥区| 临澧县| 阳西县| 西青区| 洛宁县| 图木舒克市| 沽源县| 古田县| 新巴尔虎右旗| 南阳市| 固安县| 荣成市| 巴中市| 阿勒泰市| 文水县| 凤山县| 图木舒克市| 晴隆县| 交口县| 白山市| 深圳市| 中山市| 平阴县| 平湖市| 响水县| 尖扎县| 东明县| 河间市| 治县。|