`
black.angel
  • 浏览: 34750 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

javascript Ajax解析xml笔记

阅读更多
搜了半天,终于在网上找到一个比较好的js解析xml的例子(以前都是直接responseText装配好数据,然后直接innerHTML,^_^ `````看样子,偷懒还是不好滴),记下笔记。


var xmlHttp
function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getcustomer_xml.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
var xmlDoc=xmlHttp.responseXML.documentElement;
document.getElementById("companyname").innerHTML=
xmlDoc.getElementsByTagName("compname")[0].childNodes[0].nodeValue;
document.getElementById("contactname").innerHTML=
xmlDoc.getElementsByTagName("contname")[0].childNodes[0].nodeValue;
document.getElementById("address").innerHTML=
xmlDoc.getElementsByTagName("address")[0].childNodes[0].nodeValue;
document.getElementById("city").innerHTML=
xmlDoc.getElementsByTagName("city")[0].childNodes[0].nodeValue;
document.getElementById("country").innerHTML=
xmlDoc.getElementsByTagName("country")[0].childNodes[0].nodeValue;

}
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}
分享到:
评论
3 楼 black.angel 2009-06-24  
鹤惊昆仑 写道
responseXML这种方式有2个问题:
  • 不同浏览器xml dom接口不完全兼容;
  • 解析性能。

所以个人认为在服务器端把xml转换成json格式,客户端eval一下比较好。网上比较好的xml2json库可以参考:http://www.json.org/javadoc/org/json/XML.html#toJSONObject(java.lang.String)




不错,我的确考虑过把XML转换成JSON,这样起码避免了用XPATH去找XML的步骤.可是有的时候是必须要考虑向下的兼容性的,我不知道C是否也支持JSON.项目中,我们的程序是和C中的数据有一部分共享.所以返回值才是XML.

平常的项目用对象的形式都习惯了,而且JSON的确也比XML好用,在浏览器兼容方面也不存在什么问题.
2 楼 black.angel 2009-06-09  
鹤惊昆仑 写道

responseXML这种方式有2个问题:不同浏览器xml dom接口不完全兼容;解析性能。所以个人认为在服务器端把xml转换成json格式,客户端eval一下比较好。网上比较好的xml2json库可以参考:http://www.json.org/javadoc/org/json/XML.html#toJSONObject(java.lang.String)



哦,这方面确实没有仔细注意,哈,不过早听说有比较好的JAVA解析包.json to xml,xml to json .谢啦.
1 楼 鹤惊昆仑 2009-06-08  
responseXML这种方式有2个问题:
  • 不同浏览器xml dom接口不完全兼容;
  • 解析性能。

所以个人认为在服务器端把xml转换成json格式,客户端eval一下比较好。网上比较好的xml2json库可以参考:http://www.json.org/javadoc/org/json/XML.html#toJSONObject(java.lang.String)

相关推荐

    Web+HTML+JavaScript+Ajax学习笔记

    **Ajax(异步JavaScript和XML)** Ajax并非一种单独的技术,而是利用一系列技术(JavaScript、XMLHttpRequest对象)实现的Web开发方法。它允许网页在不刷新整个页面的情况下,与服务器进行数据交换,提高用户体验。...

    李炎恢JavaScript-pdf文档笔记

    4. **AJAX与异步编程**:AJAX(异步JavaScript和XML)允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。笔记会讲解XMLHttpRequest对象的使用和Promise、async/await等现代异步编程方式。 5. **...

    Ajax入门(读书笔记)

    相比于XML,JSON在AJAX中更加常用,因为它可以直接被JavaScript解析,无需额外的解析库。 ```javascript // 假设服务器返回以下JSON数据 var data = {"name": "张三", "age": 30}; document.getElementById("name...

    JavaScript原生Ajax笔记.doc

    Ajax(Asynchronous JavaScript and XML)的主要作用在于实现页面的异步更新。传统的网页交互方式需要用户触发一个操作后,整个页面重新加载,而Ajax通过在后台与服务器通信,只更新部分页面内容,使得用户界面更加...

    Ajax和jQuery学习笔记

    Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用来创建快速动态网页的技术,通过在后台与服务器进行少量数据交换,使得网页能够实现局部刷新。也就是说,它可以动态加载数据并更新网页的部分...

    ajax自用笔记非常不错

    Ajax(Asynchronous JavaScript and XML)是Web2.0的关键技术之一,它并非单一的新技术,而是将现有的技术(如JavaScript、XML、CSS、DOM等)以创新的方式组合使用,以实现更加高效、响应式的Web应用。Ajax的核心...

    JavaScript 入门 新手学习笔记

    6. **AJAX**:Asynchronous JavaScript and XML,用于异步更新网页内容,实现页面无刷新的数据交换。 7. **ES6及更高版本的新特性**:例如箭头函数、模板字符串、解构赋值、let和const、Promise、async/await等,...

    javascript入门学习笔记

    异步JavaScript和XML(AJAX)允许我们在不刷新页面的情况下与服务器交换数据并更新部分网页内容。现代浏览器更多地使用Fetch API来代替XMLHttpRequest,Fetch提供了更简洁的接口和更好的错误处理机制。 六、ES6及...

    Ajax 学习笔记,超详细的噢!不看后悔

    Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这项技术自2005年被广泛使用以来,极大地提升了网页应用的用户体验,因为它...

    AJAX应用笔记(1)

    在Web开发领域,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许页面在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。本笔记将探讨AJAX的基本原理和实现方式,通过分析...

    AJAX笔记

    在网页开发中,AJAX(Asynchronous JavaScript and XML)是一种不刷新整个页面的情况下,与服务器交换数据并更新部分网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,极大地提高了...

    韩顺平Ajax笔记+源码+ppt

    Ajax,全称为"Asynchronous JavaScript and XML",即异步JavaScript与XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现局部刷新,提高了...

    Ajax&Json笔记

    **Ajax(异步JavaScript和XML)** Ajax 是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。Ajax的核心是JavaScript对象XMLHttpRequest,它...

    Ajax学习笔记个人总结

    ### Ajax学习笔记个人总结 #### 一、XMLHttpRequest对象简介 **XMLHttpRequest** 对象是 AJAX 技术的核心,它负责在客户端与服务器之间发送异步请求,无需刷新整个页面即可实现局部数据更新。要使用 ...

    ajax的学习笔记

    **Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它使得网页更加互动、响应更快,提高了用户体验。本学习笔记将从基础概念、核心组成部分、工作原理...

    Ajax读书笔记

    Ajax(Asynchronous JavaScript and XML),即异步JavaScript与XML,是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新,这意味着可以在不重新加载整个网页的情况...

    韩顺平AJAX和jquery笔记整理

    - **定义**:Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 - **运行原理**: - 利用JavaScript创建XMLHttpRequest对象来向服务器...

    Ajax的学习笔记

    **Ajax(Asynchronous JavaScript and XML)技术详解** Ajax是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术的核心是JavaScript...

    Java相关课程系列笔记之十一Ajax学习

    Ajax全称Asynchronous JavaScript and XML,即异步JavaScript和XML,它允许网页在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。 **一、Ajax概述** 1. **什么是Ajax**:Ajax是一种在后台与...

Global site tag (gtag.js) - Google Analytics