新聞中心
進(jìn)行解析JSON是基于DOM的,對HTML的DOM熟悉的話,解析XML就沒什么困難了。注意:在Firefox中,解析器不會忽略空格,所以元素間的空格,F(xiàn)F一樣會認(rèn)為是一個節(jié)點。不過在我們用程序拼接XML的時候,一般不會出現(xiàn)節(jié)點間有空格的情況。#t#

成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元浠水做網(wǎng)站,已為上家服務(wù),為浠水各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
在根目錄下添加一個新的一般處理程序(GetXml.ashx),代碼如下:
- type="button" value="GetXml" onclick="getXml();" />
在Default.aspx頁面添加以下腳本:
- GetXml.ashx
注意到代碼段解析JSON;主要是為了消除IE6和其他瀏覽器的兼容問題,在其他瀏覽器下,允許request.responseXML.getElementsByTagName("Person");添加測試按鈕:
- function getXml() {
- // 在IE7下測試通過,IE6下必須創(chuàng)建 new ActiveXObject("MSXML2.XMLHTTP.6.0")
- var request = new XMLHttpRequest();
- request.open('GET', 'GetXml.ashx');
- request.onreadystatechange = function() {
- if (request.readyState == 4 && request.status == 200) {
- var xmlDoc = request.responseXML;
- var root = xmlDoc.documentElement;
- var elements = root.getElementsByTagName("Person");
- alert(elements.length); // 2
- // elements[0].firstChild 引用到***個Person節(jié)點的Id節(jié)點
- // elements[0].firstChild.firstChild 引用到Id節(jié)點的文本節(jié)點
- // 因為文本節(jié)點是元素節(jié)點的***個子節(jié)點
- alert(elements[0].firstChild.firstChild.nodeValue); // 1
- alert(elements[1].lastChild.firstChild.nodeValue); // 'n_2'
- }
- }
- request.send(null);
- }
從代碼上很容易看出,解析JSON相對直觀,在網(wǎng)絡(luò)中需要傳輸?shù)淖址脖容^少,解析過程中也不需要考慮瀏覽器兼容問題,但JSON比較適合輕量級的數(shù)據(jù)交互,XML則比JSON多了一些特性,比如命名空間,還有更多的節(jié)點類型。
當(dāng)前文章:解析JSON時注意的相關(guān)問題進(jìn)行學(xué)習(xí)
當(dāng)前網(wǎng)址:http://m.5511xx.com/article/djggopo.html


咨詢
建站咨詢
