ajax_javascript解析xml

原创 2007年09月14日 17:41:00
  直接解析:
<html>
<head>
<script>
var req = null;
function processReqChange() {
  if (req.readyState == 4 && req.status == 200 && req.responseXML ) {
    var dtable = document.getElementById( 'dataBody' );
    var nl = req.responseXML.getElementsByTagName( 'book' );
    for( var i = 0; i < nl.length; i++ ) {
      var nli = nl.item( i );
      var elAuthor = nli.getElementsByTagName( 'author' );
      var author = elAuthor.item(0).firstChild.nodeValue;
      var elTitle = nli.getElementsByTagName( 'title' );
      var title = elTitle.item(0).firstChild.nodeValue;

      var elTr = dtable.insertRow( -1 );

      var elAuthorTd = elTr.insertCell( -1 );
      elAuthorTd.innerHTML = author;

      var elTitleTd = elTr.insertCell( -1 );
      elTitleTd.innerHTML = title;
} } }

function loadXMLDoc( url ) {
  if(window.XMLHttpRequest) {
    try { req = new XMLHttpRequest();
    } catch(e) { req = false; }
  } else if(window.ActiveXObject) {
    try { req = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {
    try { req = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) { req = false; }
  } }
  if(req) {
    req.onreadystatechange = processReqChange;
    req.open('GET', url, true);
    req.send('');
  }
}

var url = window.location.toString();
url = url.replace( /pat2_xml.html/, 'pat2_xml_data.xml' );
loadXMLDoc( url );
</script>
</head>
<body>
<table cellspacing="0" cellpadding="3" width="100%">
<tbody id="dataBody">
<tr>
  <th width="20%">Author</th>
  <th width="80%">Title</th>
</tr>
</tbody>
</table>
</body>
</html>
 
data.xml
<books>z
  <book>
    <author>Jack Herrington</author>
    <title>Code Generation in Action</title>
  </book>
  <book>
    <author>Jack Herrington</author>
    <title>Podcasting Hacks</title>
  </book>
  <book>
    <author>Jack Herrington</author>
    <title>PHP Hacks</title>
  </book>
</books>
 
XMLDOM解析:

    function processXML(xml){
        //var xml="<?xml version='1.0' encoding='utf-8'?><p><id>hello</id><name first='yes'>linda</name></p>";
          alert(xml);
          var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.loadXML(xml);
          var node = xmlDoc.documentElement;
          for(var i=0;i<node.childNodes.length;i++){
             
              if(node.childNodes[i].nodeName=="policyId"){
                 
                  var policyId = node.childNodes[i].text;
                  //alert("policyId="+policyId);
              }
              if(node.childNodes[i].nodeName=="policyHoder"){//16
                  var name = node.childNodes[i].getAttribute('name');
                  //alert(name);
              }
              if(node.childNodes[i].nodeName=="insuredList"){
                  var insuredList = node.childNodes[i];
                  var insured = insuredList.childNodes;
                  for(var index=0;index<insured.length;index++){
                      var name       = insured[index].getAttribute('name');
                      var certiType = insured[index].getAttribute('certiType');
                      var certiName = insured[index].getAttribute('certiName');
                      var certiCode = insured[index].getAttribute('certiCode');
                      var telephone = insured[index].getAttribute('telephone');
                      var s = "name="+name + " certiType="+certiType + " certiName="+certiName + " certiCode="+certiCode +" telephone="+ telephone;
                      //alert(s);
                  }
                 
              }
              if(node.childNodes[i].nodeName=="persuadeContent"){
                 
                  var persuadeContent = node.childNodes[i].text;
                  alert(persuadeContent);
                  document.getElementById("xmldata").innerHTML=persuadeContent;
              }
          }   
    }
   
   
</script>


相关文章推荐

javascript 解析ajax返回的xml和json格式的数据

写个例子,以备后用 一、JavaScript 解析返回的xml格式的数据: 1、javascript版本的ajax发送请求 (1)、创建XMLHttpRequest对象,这个对象就是ajax请求...
  • QH_JAVA
  • QH_JAVA
  • 2015年08月09日 16:18
  • 5644

异步JavaScript_and_XML之ajax.js

  • 2017年01月02日 23:16
  • 932B
  • 下载

Asynchronous JavaScript And XML (Ajax)由浅入深

Ajax入门

ajax本质源码javascript xml

  • 2009年11月06日 08:37
  • 6KB
  • 下载

JavaScript JSP XML Ajax

  • 2013年07月26日 17:45
  • 16.77MB
  • 下载

AJAX (Asynchronous JavaScript and XML)

Ajax工作原理  在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景、原理、优缺点等各个方面都很少涉及null。这次写这篇文章的背景是因为公司需要对内部...

JavaScript之AJAX实现二级联动菜单(jsp+js+servlet+xml)

本文实现了AJAX的二级联动菜单,并给出了详细的实现步骤
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ajax_javascript解析xml
举报原因:
原因补充:

(最多只允许输入30个字)