将响应解析为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")[0]; 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[i]; out = out + "\n- " + currentState.childNodes[0].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" οnclick="startRequest('all');"/> <br/><br/> <input type="button" value="View All Listed Northern States" οnclick="startRequest('north');"/> </form> </body> </html>
运行结果: