小毅收藏之------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

          主站蜘蛛池模板: 靖州| 崇明县| 赣榆县| 泸定县| 平顶山市| 犍为县| 外汇| 静安区| 万源市| 易门县| 嘉峪关市| 和龙市| 荣昌县| 道真| 开远市| 那坡县| 齐河县| 泰和县| 福州市| 湟中县| 黄梅县| 梅河口市| 海兴县| 普格县| 淮北市| 密云县| 安丘市| 库尔勒市| 永泰县| 盐池县| 孝义市| 雷州市| 交城县| 莱西市| 绥宁县| 琼结县| 安岳县| 万宁市| 德昌县| 公安县| 枣阳市|