偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺談如何用Javascript操作XML

開(kāi)發(fā) 后端
簡(jiǎn)要介紹一下用Javascript操作XML,JavaScript操作XML是通過(guò)XML DOM來(lái)完成的。XML DOM定義了所有XML元素的對(duì)象和屬性,以及訪(fǎng)問(wèn)它們的方法(接口)。

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

大多數(shù)瀏覽器都有讀取和操作 XML 的內(nèi)建 XML 解析器。解析器(XML Parser)把 XML 轉(zhuǎn)換為 JavaScript 可訪(fǎng)問(wèn)的對(duì)象。

解析器把XML 載入內(nèi)存,然后把它轉(zhuǎn)換為可通過(guò)JavaScript 訪(fǎng)問(wèn)的 XML DOM 對(duì)象。微軟的XML解析器與其他瀏覽器中的解析器之間,存在一些差異。微軟的解析器支持 XML 文件和 XML 字符串(文本)的加載,而其他瀏覽器使用單獨(dú)的解析器。不過(guò),所有的解析器都包含遍歷 XML 樹(shù)、訪(fǎng)問(wèn)插入及刪除節(jié)點(diǎn)(元素)及其屬性的函數(shù)。

XML DOM 把XML文檔視為一種樹(shù)結(jié)構(gòu)。這種樹(shù)結(jié)構(gòu)被稱(chēng)為節(jié)點(diǎn)樹(shù)。

可通過(guò)這棵樹(shù)訪(fǎng)問(wèn)所有節(jié)點(diǎn)。可以修改或刪除它們的內(nèi)容,也可以創(chuàng)建新的元素。

這顆節(jié)點(diǎn)樹(shù)展示了節(jié)點(diǎn)的集合,以及它們之間的聯(lián)系。這棵樹(shù)從根節(jié)點(diǎn)開(kāi)始,然后在樹(shù)的最低層級(jí)向文本節(jié)點(diǎn)長(zhǎng)出枝條:

  1. script language="JavaScript"> 
  2. <!--  
  3. var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM")   
  4. //加載文檔  
  5. //doc.load("b.xml");  
  6. //創(chuàng)建文件頭  
  7. var p = doc.createProcessingInstruction("xml","version='1.0'  encoding='gb2312'");  
  8.     //添加文件頭  
  9.     doc.appendChild(p);  
  10. //用于直接加載時(shí)獲得根接點(diǎn)  
  11. //var root = doc.documentElement;  
  12. //兩種方式創(chuàng)建根接點(diǎn)  
  13. //    var root = doc.createElement("students");  
  14.     var root = doc.createNode(1,"students","");  
  15.     //創(chuàng)建子接點(diǎn)  
  16.     var n = doc.createNode(1,"ttyp","");  
  17.         //指定子接點(diǎn)文本  
  18.         //n.text = " this is a test";      
  19.     //創(chuàng)建孫接點(diǎn)  
  20.     var o = doc.createElement("sex");  
  21.         o.text = "男";    //指定其文本  
  22.     //創(chuàng)建屬性  
  23.     var r = doc.createAttribute("id");  
  24.         r.value="test";        //添加屬性  
  25.         n.setAttributeNode(r);  
  26.     //創(chuàng)建第二個(gè)屬性      
  27.     var r1 = doc.createAttribute("class");  
  28.         r1.value="tt";          
  29.         //添加屬性  
  30.         n.setAttributeNode(r1);  
  31.         //刪除第二個(gè)屬性  
  32.         n.removeAttribute("class");  
  33.         //添加孫接點(diǎn)  
  34.         n.appendChild(o);  
  35.         //添加文本接點(diǎn)  
  36.         n.appendChild(doc.createTextNode("this is a text node."));  
  37.         //添加注釋  
  38.         n.appendChild(doc.createComment("this is a comment\n"));     
  39.         //添加子接點(diǎn)  
  40.         root.appendChild(n);     
  41.     //復(fù)制接點(diǎn)  
  42.     var m = n.cloneNode(true);  
  43.         root.appendChild(m);          
  44.         //刪除接點(diǎn)  
  45.         root.removeChild(root.childNodes(0));  
  46.     //創(chuàng)建數(shù)據(jù)段  
  47.     var c = doc.createCDATASection("this is a cdata");  
  48.         c.text = "hi,cdata";  
  49.         //添加數(shù)據(jù)段  
  50.         root.appendChild(c);      
  51.     //添加根接點(diǎn)  
  52.     doc.appendChild(root);  
  53.     //查找接點(diǎn)  
  54.     var a = doc.getElementsByTagName("ttyp");  
  55.     //var a = doc.selectNodes("http://ttyp");  
  56.     //顯示改接點(diǎn)的屬性  
  57.     for(var i0;i<a.length;i++)  
  58.     {  
  59.         alert(a[i].xml);  
  60.         for(var j=0;j<a[i].attributes.length;j++)  
  61.         {  
  62.             alert(a[i].attributes[j].name);  
  63.         }  
  64.     }  
  65.     //修改節(jié)點(diǎn),利用XPATH定位節(jié)點(diǎn)  
  66.     var b = doc.selectSingleNode("http://ttyp/sex");  
  67.     b.text = "女";  
  68.     //alert(doc.xml);  
  69.     //XML保存(需要在服務(wù)端,客戶(hù)端用FSO)  
  70.     //doc.save();      
  71.     //查看根接點(diǎn)XML  
  72.     if(n)  
  73.     {  
  74.         alert(n.ownerDocument.xml);  
  75.     }  
  76. //--> 
  77. </script> 

【編輯推薦】

  1. JavaScript中關(guān)于Cookie的詳細(xì)介紹
  2. JavaScript中confirm,alert,prompt的用法
  3. 基于JavaScript的REST客戶(hù)端框架
  4. 如何優(yōu)化JavaScript腳本的性能
  5. 用Javascript連接Access數(shù)據(jù)庫(kù)的方法
責(zé)任編輯:張燕妮 來(lái)源: cnblogs
相關(guān)推薦

2009-06-26 15:55:29

Javascript+

2009-06-24 16:26:17

MyEclipse

2009-05-04 10:25:36

XML.NET數(shù)據(jù)

2011-08-02 08:48:58

Visual Stud

2009-07-17 17:41:25

JDBC連接SQL S

2011-06-03 10:06:57

MongoDB

2011-07-13 14:02:42

OracleExcel

2009-07-14 11:51:00

XML壓縮

2021-11-29 08:50:57

Javascript存儲(chǔ)函數(shù)

2017-10-27 22:03:35

javascrip

2009-04-14 09:24:40

OracleXML導(dǎo)出

2009-08-17 15:34:58

C#創(chuàng)建XML

2010-07-30 12:56:02

Flex調(diào)用JavaS

2009-09-08 16:55:01

Linq實(shí)現(xiàn)XML轉(zhuǎn)換

2009-09-14 15:45:28

LINQ刪除XML節(jié)點(diǎn)

2011-07-22 08:43:08

XML

2021-11-16 14:25:38

JavaScript前端

2009-06-10 21:51:42

JavaScript XMLFirefox

2009-07-09 10:15:23

PHP DOM

2009-09-29 15:52:26

Hibernate X
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)