自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談如何用Javascript操作XML

開發(fā) 后端
簡要介紹一下用Javascript操作XML,JavaScript操作XML是通過XML DOM來完成的。XML DOM定義了所有XML元素的對象和屬性,以及訪問它們的方法(接口)。

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

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

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

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

可通過這棵樹訪問所有節(jié)點(diǎn)??梢孕薷幕騽h除它們的內(nèi)容,也可以創(chuàng)建新的元素。

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

  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ù)端,客戶端用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客戶端框架
  4. 如何優(yōu)化JavaScript腳本的性能
  5. 用Javascript連接Access數(shù)據(jù)庫的方法
責(zé)任編輯:張燕妮 來源: 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-06-03 10:06:57

MongoDB

2011-07-13 14:02:42

OracleExcel

2011-08-02 08:48:58

Visual Stud

2009-07-17 17:41:25

JDBC連接SQL S

2009-07-14 11:51:00

XML壓縮

2021-11-29 08:50:57

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

2017-10-27 22:03:35

javascrip

2009-08-17 15:34:58

C#創(chuàng)建XML

2010-07-30 12:56:02

Flex調(diào)用JavaS

2009-04-14 09:24:40

OracleXML導(dǎo)出

2011-07-22 08:43:08

XML

2009-09-14 15:45:28

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

2009-09-08 16:55:01

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

2009-06-10 21:51:42

JavaScript XMLFirefox

2021-11-16 14:25:38

JavaScript前端

2009-08-18 17:08:50

C#編寫XML文檔

2009-08-24 17:24:28

C#創(chuàng)建XML文檔
點(diǎn)贊
收藏

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