从XML文件中调用特殊TAG的数据

显示在弹出窗口的数据反正是可以调用了
显示在哪儿其实都是随便的你要是喜欢可以用innerHTML显示在页面的某个地方

parseXML.html
CODE:


<!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&#34;>

<html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;>

<head>

<meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=utf-8&#34; />

<title>Parsing XML Response with the W3C DOM</title>

<script type=&#34;text/javascript&#34;>

var xmlHttp;



function cr&#101;ateXMLHttpRequest(){

      if (window.ActiveXObject) {

              xmlHttp = new ActiveXObject (&#34;Microsoft.XMLHTTP&#34;);

      }

      else if (window.XMLHttpRequest) {

           xmlHttp = new XMLHttpRequest () ;

      }

}



function startRequest(requestedList) {

     requestType = requestedList;

     cr&#101;ateXMLHttpRequest();

     xmlHttp.onreadystatechange = handleStateChange;

     xmlHttp.open(&#34;GET&#34;,  &#34;parse.xml&#34;, true);

     xmlHttp.send(null);

}



function handleStateChange() {

     if (xmlHttp.readyState == 4) {

            if (xmlHttp.status == 200) {

                  if (requestType == &#34;north&#34;) {

                  listNorthStates();

          }

          else if (requestType == &#34;all&#34;) {

                listAllStates();

          }

            }

     }

}



function listNorthStates() {

     var xmlDoc = xmlHttp.responseXML;

   var northNode = xmlDoc.getElementsByTagName(&#34;north&#34;)[0];

   var out = &#34;North States&#34;;

   var northStates = northNode.getElementsByTagName(&#34;state&#34;);

   

   outputList(&#34;Northern States&#34;, northStates);

}



function listAllStates() {

    var xmlDoc = xmlHttp.responseXML;

  var allStates = xmlDoc.getElementsByTagName(&#34;state&#34;);

  

  outputList(&#34;All States in Document&#34;, allStates);

}



function outputList(title, states) {

     var out = title;

   var currentState = null;

   for (var i = 0; i < states.length; i++) {

            currentState = states[i];

        out = out + &#34;
-&#34; + currentState.childNodes[0].nodeValue;

        }

   alert (out);

}

</script>

</head>



<body>

<strong>Process XML Document of U.S States </strong>





<input type=&#34;button&#34; value=&#34;View All Listed States&#34; onclick=&#34;startRequest('all');&#34; />



<input type=&#34;button&#34; value=&#34;View All Listed Northern States&#34; onclick=&#34;startRequest('north');&#34; />

</body>

</html>



parse.xml
CODE:


<?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?>

<states>

  <north>

    <state>Minnesota</state>

  <state>Iowa</state>

  <state>North Dakota</state>

  </north>

  <south>

    <state>Texas</state>

  <state>Oklahome</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>

引用通告地址: http://www.anycc.com/blog/trackback.php?tbID=68&extra=9d2c8f
标签:  AJAX
评论: 0 | 引用: 0 | 阅读: 1296
发表评论
昵 称: 密 码:
网 址: 邮 箱:
验证码: 验证码图片 选 项:
头 像:
内 容: