首頁 web前端 js教程 js ajax经典实例之解析xml

js ajax经典实例之解析xml

Jun 01, 2016 am 09:55 AM
ajax xml 解析

test.php文件代码如下:
 

<code>


<title>js ajax经典实例之解析xml</title>
<script type="text/javascript">
//使用工厂的方法来创建xmlHttpRequest对象
function createXmlHttpRequest(){
    var xmlHttpRequest=null;
    if(window.ActiveXObject){
        //以下代码是IE中创建xmlHttpRequest对象的方法
        xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        //以下代码是其他浏览器中创建xmlHttpRequest对象的方法
        xmlHttpRequest = new XMLHttpRequest();
    }
    return xmlHttpRequest;
}

function getData(){
    //如果xmlHttpRequest对象创建成功,就开始请求服务器
    var xmlHttpRequest=createXmlHttpRequest();
    if(xmlHttpRequest){
        //打开请求,第一个参数表示请求的类型(get或post),第二个参数表示请求的服务器地址,第三个参数表示是否异步(异步指的可以同时执行,同步则表示执行完步骤一,然后才能执行步骤二)
        xmlHttpRequest.open("get","xml.php",true);
        //设置xmlHttpRequest对象的onreadystatechange事件,onreadystatechange存储函数(或函数名),每当xmlHttpRequest对象的readyState 属性改变时,就会调用该函数。readyState存有 xmlHttpRequest的状态。从 0 到 4 发生变化,0表示请求未初始化,1表示服务器连接已建立,2表示请求已接收 3表示请求处理中 4表示请求已完成,且响应已就绪,
        xmlHttpRequest.onreadystatechange=function(){
            if (xmlHttpRequest.readyState==4 && xmlHttpRequest.status==200){//当请求完成且状态为ok的时候,下面会解析ajax返回的xml.
                var xml=xmlHttpRequest.responseXML;//接受服务器返回的xml对象,并存储在xml变量中
                //下面解析xml;
                var persons=xml.getElementsByTagName("person");
                var str="";
                for(var i=0;i<persons.length;i++){
                    var fc= persons[i];
                    var name=fc.getElementsByTagName("name")[0].innerHTML;
                    var age=fc.getElementsByTagName("age")[0].innerHTML;
                    var weight=fc.getElementsByTagName("weight")[0].innerHTML;
                    var height=fc.getElementsByTagName("height")[0].innerHTML; str+="name:"+name+"  age:"+age+"  weight:"+weight+"  height:"+height+"<br/>"                }
                document.getElementById("data").innerHTML=str;
            }
        }
            xmlHttpRequest.send();        
    }
}
</script>


<input type="button" value="获取数据" onclick="getData();">
<div id="data"></div>

</code>
登入後複製

 


xml.php文件代码如下:  

 

<code><?php header("Content-type:text/xml");
$arr=array(
    array("name"=>"张三","age"=>"16","weight"=>"50","height"=>"160"),
    array("name"=>"李四","age"=>"17","weight"=>"51","height"=>"165"),
    array("name"=>"王二","age"=>"18","weight"=>"55","height"=>"170"),
    array("name"=>"javior","age"=>"20","weight"=>"68","height"=>"179")
);
$xml="<?xml version='1.0' encoding='gb2312'?>";
$xml.="<persons>";
foreach($arr as $k=>$v){
    $xml.="<person>";
    $xml.="<name>".$v["name"]."</name>";
    $xml.="<age>".$v["age"]."</age>";
    $xml.="<weight>".$v["weight"]."</weight>";
    $xml.="<height>".$v["height"]."</height>";
    $xml.="</person>";
}
$xml.="</persons>";
echo $xml;
?> </code>
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Oracle錯誤3114詳解:如何快速解決 Oracle錯誤3114詳解:如何快速解決 Mar 08, 2024 pm 02:42 PM

Oracle錯誤3114詳解:如何快速解決,需要具體程式碼範例在Oracle資料庫開發與管理過程中,我們常常會遇到各種各樣的錯誤,其中錯誤3114是比較常見的一個問題。錯誤3114通常表示資料庫連線出現問題,可能是網路故障、資料庫服務停止、或連接字串設定不正確等原因導致的。本文將詳細解釋錯誤3114的產生原因,以及如何快速解決這個問題,並附上具體的程式碼

解析Wormhole NTT:適用於任何Token的開放框架 解析Wormhole NTT:適用於任何Token的開放框架 Mar 05, 2024 pm 12:46 PM

Wormhole在區塊鏈互通性方面處於領先地位,專注於創建有彈性、面向未來的去中心化系統,優先考慮所有權、控制權和無需許可的創新。這個願景的基礎是對技術專業知識、道德原則和社群一致性的承諾,旨在以簡單、清晰和廣泛的多鏈解決方案套件重新定義互通性格局。隨著零知識證明、擴容方案和功能豐富的Token標準的興起,區塊鏈變得更加強大,而互通性也變得越來越重要。在這個不斷創新的應用程式環境中,新穎的治理系統和實用功能為整個網路的資產帶來了前所未有的機會。協議建構者現在正在努力思考如何在這個新興的多鏈

PHP 與 Ajax:建立一個自動完成建議引擎 PHP 與 Ajax:建立一個自動完成建議引擎 Jun 02, 2024 pm 08:39 PM

使用PHP和Ajax建置自動完成建議引擎:伺服器端腳本:處理Ajax請求並傳回建議(autocomplete.php)。客戶端腳本:發送Ajax請求並顯示建議(autocomplete.js)。實戰案例:在HTML頁面中包含腳本並指定search-input元素識別碼。

PHP 中點的意思和用法解析 PHP 中點的意思和用法解析 Mar 27, 2024 pm 08:57 PM

【PHP中點的意義和用法解析】在PHP中,中點(.)是常用的運算符,用來連接兩個字串或物件的屬性或方法。在本文中,我們將深入探討PHP中點的意義和用法,並透過具體的程式碼範例加以說明。 1.連接字串中點運算子.在PHP中最常見的用法是連接兩個字串。透過將.放置在兩個字串之間,可以將它們拼接在一起,形成一個新的字串。 $string1=&qu

如何使用Ajax從PHP方法取得變數? 如何使用Ajax從PHP方法取得變數? Mar 09, 2024 pm 05:36 PM

使用Ajax從PHP方法取得變數是Web開發中常見的場景,透過Ajax可以實作頁面無需刷新即可動態取得資料。在本文中,將介紹如何使用Ajax從PHP方法中取得變量,並提供具體的程式碼範例。首先,我們需要寫一個PHP檔案來處理Ajax請求,並傳回所需的變數。下面是一個簡單的PHP檔案getData.php的範例程式碼:

Win11新功能解析:跳過登入微軟帳號的方法 Win11新功能解析:跳過登入微軟帳號的方法 Mar 27, 2024 pm 05:24 PM

Win11新功能解析:跳過登入微軟帳號的方法隨著Windows11的發布,許多用戶發現其帶來了更多的便利性和新功能。然而,有些用戶可能不喜歡將其係統與微軟帳戶綁定,希望跳過這一步驟。本文將介紹一些方法,幫助使用者在Windows11中跳過登入微軟帳戶,並實現更私密、更自主的使用體驗。首先,讓我們來了解為什麼有些用戶不願意登入微軟帳號。一方面,一些用戶擔心他們

如何使用 PHP 函數處理 XML 資料? 如何使用 PHP 函數處理 XML 資料? May 05, 2024 am 09:15 AM

使用PHPXML函數處理XML資料:解析XML資料:simplexml_load_file()和simplexml_load_string()載入XML檔案或字串。存取XML資料:利用SimpleXML物件的屬性和方法來取得元素名稱、屬性值和子元素。修改XML資料:使用addChild()和addAttribute()方法新增元素和屬性。序列化XML資料:asXML()方法將SimpleXML物件轉換為XML字串。實戰案例:解析產品饋送XML,提取產品信息,轉換並將其儲存到資料庫中。

Apache2無法正確解析PHP檔案的處理方法 Apache2無法正確解析PHP檔案的處理方法 Mar 08, 2024 am 11:09 AM

由於篇幅限制,以下是一個簡短的文章:Apache2是常用的Web伺服器軟體,而PHP是廣泛使用的伺服器端腳本語言。在建置網站過程中,有時會遇到Apache2無法正確解析PHP檔案的問題,導致PHP程式碼無法執行。這種問題通常是因為Apache2沒有正確配置PHP模組,或是PHP模組與Apache2的版本不相容所導致的。解決這個問題的方法一般有兩種,一種是

See all articles