DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 解析JSON時注意的相關問題進行學習
解析JSON時注意的相關問題進行學習
編輯:XML詳解     

進行解析JSON是基於DOM的,對Html的DOM熟悉的話,解析XML就沒什麼困難了。注意:在Firefox中,解析器不會忽略空格,所以元素間的空格,FF一樣會認為是一個節點。不過在我們用程序拼接XML的時候,一般不會出現節點間有空格的情況。

  • 如何更好的易於機器解析和生成JSON輕量級
  • 更好的解決Javascript解析JSon問題
  • 利用JSON插件進行數據交換格式
  • 探索JSON格式封裝的使用方法
  • 構建JSon插件的相關技巧說明介紹

在根目錄下添加一個新的一般處理程序(GetXML.ashx),代碼如下:

  1. <input type="button" value="GetXML" onclick="getXML();" /> 

在Default.ASPx頁面添加以下腳本:

  1. GetXML.ashx 

注意到代碼段解析JSON;主要是為了消除IE6和其他浏覽器的兼容問題,在其他浏覽器下,允許request.responseXML.getElementsByTagName("Person");添加測試按鈕:

  1. function getXML() {  
  2.             // 在IE7下測試通過,IE6下必須創建 new ActiveXObject("MSXML2.XMLHTTP.6.0")  
  3.             var request = new XMLHttpRequest();  
  4.  
  5.             request.open('GET', 'GetXML.ashx');  
  6.             request.onreadystatechange = function() {  
  7.                 if (request.readyState == 4 && request.status == 200) {  
  8.                     var XMLDoc = request.responseXML;  
  9.                     var root = XMLDoc.documentElement;  
  10.                     var elements = root.getElementsByTagName("Person");  
  11.                     alert(elements.length); // 2  
  12.                     // elements[0].firstChild 引用到第一個Person節點的Id節點  
  13.                     // elements[0].firstChild.firstChild 引用到Id節點的文本節點  
  14.                     // 因為文本節點是元素節點的第一個子節點  
  15.                     alert(elements[0].firstChild.firstChild.nodeValue); // 1  
  16.                     alert(elements[1].lastChild.firstChild.nodeValue);  // 'n_2'  
  17.                 }  
  18.             }  
  19.             request.send(null);  
  20.         } 

從代碼上很容易看出,解析JSON相對直觀,在網絡中需要傳輸的字符串也比較少,解析過程中也不需要考慮浏覽器兼容問題,但JSON比較適合輕量級的數據交互,XML則比JSON多了一些特性,比如命名空間,還有更多的節點類型。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved