junJZ_2008 发表于 2013-1-23 02:26:39

3、将响应解析为XML——ajax基础笔记

将响应解析为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>parseXML.html清单:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Parsing XML Responses with the W3C DOM</title>    <script type="text/javascript">var xmlHttp;var requestType = "";function createXMLHttpRequest() {    if (window.ActiveXObject) {      xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");    }   else if (window.XMLHttpRequest) {      xmlHttp = new XMLHttpRequest();    }}    function startRequest(requestedList) {    requestType = requestedList;    createXMLHttpRequest();    xmlHttp.onreadystatechange = handleStateChange;    xmlHttp.open("GET", "parseXML.xml", true);    xmlHttp.send(null);}    function handleStateChange() {    if(xmlHttp.readyState == 4) {      if(xmlHttp.status == 200) {            if(requestType == "north") {                listNorthStates();            }            else if(requestType == "all") {                listAllStates();            }      }    }} function listNorthStates() {    var xmlDoc = xmlHttp.responseXML;//以XML形式接收    var northNode = xmlDoc.getElementsByTagName("north");      var northStates = northNode.getElementsByTagName("state");      outputList("Northern States", northStates);}function listAllStates() {    var xmlDoc = xmlHttp.responseXML;//以XML形式接收    var allStates = xmlDoc.getElementsByTagName("state");      outputList("All States in Document", allStates);}function outputList(title, states) {    var out = title;    var currentState = null;    for(var i = 0; i < states.length; i++) {      currentState = states;      out = out + "\n- " + currentState.childNodes.nodeValue;    }      alert(out);}</script></head><body>    <h1>Process XML Document of U.S. States</h1>    <br/><br/>    <form action="#">      <input type="button" value="View All Listed States" />      <br/><br/>      <input type="button" value="View All Listed Northern States" />    </form></body></html>运行结果:

http://dl.iteye.com/upload/attachment/157382/ce280a7e-8e84-373d-a00a-083bdf64b0f2.gif
页: [1]
查看完整版本: 3、将响应解析为XML——ajax基础笔记