ajax_javascript解析xml

  直接解析:
<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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值