BlogJava 联系 聚合 管理  

Blog Stats

文章档案

相册


在浏览器上会生成具有两个按钮的HTML页面。点击第一个按钮,将从服务器加载XML文档,然后在警告框中显示列于文档中的所有州。点击第二个按钮也会从服务器加载XML文档,不过只在警告框中显示北部地区的各个州
ParseXML.htm完整代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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;
    
var northNode = xmlDoc.getElementsByTagName("north")[0];
    
    
var out = "Northern States";
    
var northStates = northNode.getElementsByTagName("state");
    
    outputList(
"Northern States", northStates);
}


function listAllStates() {
    
var xmlDoc = xmlHttp.responseXML;
    
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" onclick="startRequest('all');"/>
        
<br/><br/>
        
<input type="button" value="View All Listed Northern States" onclick="startRequest('north');"/>
    
</form>
</body>
</html>

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>

posted on 2008-04-12 12:23 学习者 阅读(84) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: