ajax遍曆xml文檔的方法_AJAX相關

來源:互聯網
上載者:User

本文執行個體講述了ajax遍曆xml文檔的方法。分享給大家供大家參考。具體分析如下:

XMLHttpRequest對象提供了兩個可以用來訪問伺服器響應的屬性。第一個屬性responseText將響應提供為一個串,第二個屬性 responseXML將響應提供為一個XML對象。一些簡單的用例就很適合按簡單文本來擷取響應,如將響應顯示在警告框中,或者響應只是指示成功還是失 敗的詞
前面<ajax小結>中的例子是從XMLHttpRequest對象擷取伺服器響應,並使用XMLHttpRequest對象的responseText屬性將響應擷取為文本。
這次我們來使用XMLHttpRequest對象的responseXML屬性,將結果擷取為XML文檔.這樣一來,我們就可以使用W3C DOM方法來遍曆XML文檔。(前面文章或多或少講過些DOM,在此不重複)

OK,下面來看例子.

首先還是一段XML文檔代碼(parseXML.xml)如下:

parseXML.xml如下:

<?xml version="1.0" encoding="UTF-8"?><states><north><state>Minnesota</state><state>Iowa</state><state>North Dakota</state></north><south><state>Texas</state><state>Oklahoma</state><state>Louisiana</state></south><east><state>New York</state><state>North Carolina</state><state>Massachusetts</state></east><west><state>California</state><state>Oregon</state><state>Nevada</state></west></states>

MyJsp.jsp如下:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'MyJsp.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><script type="text/javascript">var flg=false;var requestType = "";//得到XMLHttpRequest對象function newXMLHttpRequest() {var xmlreq = false;if (window.XMLHttpRequest) {xmlreq = new XMLHttpRequest();} else if (window.ActiveXObject) {try {xmlreq = new ActiveXObject("Msxml2.XMLHTTP");} catch (e1) {try {xmlreq = new ActiveXObject("Microsoft.XMLHTTP");} catch (e2) {}}}return xmlreq;}function startRequest(requestedList){requestType=requestedList;flg=newXMLHttpRequest();//當XMLHttpRequest對象在請求過程中間狀態改變的時候//回來調用handleStateChange方法flg.onreadystatechange = handleStateChange;flg.open("GET", "parseXML.xml", true);flg.send(null);}//處理函數function handleStateChange(){if(flg.readyState==4){if(flg.status==200){if(requestType=="north"){listNorthStates();}else if(requestType=="all"){listAllStates();}if(requestType=="south"){listSouthStates();}}}}//用於顯示NorthStates方法function listNorthStates(){var xmlDoc=flg.responseXML;var northNode=xmlDoc.getElementsByTagName("north")[0];var northStates=northNode.getElementsByTagName("state");outputList("North States",northStates);}//用於顯示SouthStates方法function listSouthStates(){var xmlDoc=flg.responseXML;var SouthNode=xmlDoc.getElementsByTagName("south")[0];var SouthStates=SouthNode.getElementsByTagName("state");outputList("South States",SouthStates);}//用於顯示AllStates方法function listAllStates(){var xmlDoc=flg.responseXML;var allStates=xmlDoc.getElementsByTagName("state");outputList("All States in Document", allStates);}//輸出元素並顯示於提示框中function outputList(title,states){var out=title;var currState=null;for(var i=0;i<states.length;i++){currState=states;out=out+"\n-"+currState.childNodes[0].nodeValue;}alert(out);}</script><body><form action="#"><input type="button" value="View All Listed States"  onclick="startRequest('all');"/><br><input type="button" value="View All Listed Northern States"  onclick="startRequest('north');"/><br><input type="button" value="View All Listed Southern States"  onclick="startRequest('south');"/></form></body></html>

希望本文所述對大家的Ajax程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.