小毅收藏之------JavaScript操作XML文件

          Posted on 2009-08-05 22:01 H2O 閱讀(252) 評論(0)  編輯  收藏 所屬分類: javascript

          文中盡量用上所有的操作和屬性,以做示范

          <script language="JavaScript">
          <!--
          var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM") 


          //加載文檔
          //
          doc.load("b.xml");

          //創建文件頭
          var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");

              
          //添加文件頭
              doc.appendChild(p);

          //用于直接加載時獲得根接點
          //
          var root = doc.documentElement;

          //兩種方式創建根接點
          //
              var root = doc.createElement("students");
              var root = doc.createNode(1,"students","");

              
          //創建子接點
              var n = doc.createNode(1,"ttyp","");

                  
          //指定子接點文本
                  //n.text = " this is a test";
              
              
          //創建孫接點
              var o = doc.createElement("sex");
                  o.text 
          = "";    //指定其文本

              
          //創建屬性
              var r = doc.createAttribute("id");
                  r.value
          ="test";

                  
          //添加屬性
                  n.setAttributeNode(r);

              
          //創建第二個屬性    
              var r1 = doc.createAttribute("class");
                  r1.value
          ="tt";
                  
                  
          //添加屬性
                  n.setAttributeNode(r1);

                  
          //刪除第二個屬性
                  n.removeAttribute("class");

                  
          //添加孫接點
                  n.appendChild(o);

                  
          //添加文本接點
                  n.appendChild(doc.createTextNode("this is a text node."));

                  
          //添加注釋
                  n.appendChild(doc.createComment("this is a comment\n"));
              
                  
          //添加子接點
                  root.appendChild(n);
              
              
          //復制接點
              var m = n.cloneNode(true);

                  root.appendChild(m);
                  
                  
          //刪除接點
                  root.removeChild(root.childNodes(0));

              
          //創建數據段
              var c = doc.createCDATASection("this is a cdata");
                  c.text 
          = "hi,cdata";
                  
          //添加數據段
                  root.appendChild(c);
              
              
          //添加根接點
              doc.appendChild(root);

              
          //查找接點
              var a = doc.getElementsByTagName("ttyp");
              
          //var a = doc.selectNodes("http://ttyp");

              
          //顯示改接點的屬性
              for(var i= 0;i<a.length;i++)
              
          {
                  alert(a[i].xml);
                  
          for(var j=0;j<a[i].attributes.length;j++)
                  
          {
                      alert(a[i].attributes[j].name);
                  }

              }


              
          //修改節點,利用XPATH定位節點
              var b = doc.selectSingleNode("//ttyp/sex");
              b.text 
          = "";

              
          //alert(doc.xml);

              
          //XML保存(需要在服務端,客戶端用FSO)
              //doc.save();
              
              
          //查看根接點XML
              if(n)
              
          {
                  alert(n.ownerDocument.xml);
              }


          //-->
          </script>

          posts - 0, comments - 21, trackbacks - 0, articles - 101

          Copyright © H2O

          主站蜘蛛池模板: 波密县| 黑河市| 英山县| 葵青区| 麟游县| 奉新县| 丽江市| 呼伦贝尔市| 库伦旗| 桦川县| 辽阳县| 广昌县| 南京市| 姜堰市| 吴江市| 凌海市| 镇赉县| 海兴县| 临西县| 三穗县| 施甸县| 梓潼县| 襄城县| 康保县| 洪雅县| 藁城市| 龙川县| 玉田县| 蓝山县| 静乐县| 长葛市| 石台县| 县级市| 成安县| 讷河市| 石首市| 京山县| 林周县| 自贡市| 文山县| 巧家县|