通过AJAX的JS、JQuery两种方式解析XML示例介绍


Posted in Javascript onSeptember 23, 2013

JQuery版

$.ajax({ 
url : "order/order_orderDetail.do?params.type=merge", 
type : "post", 
data : params, 
success : function(xml) { 
hide(); 
if(xml == ""){ 
Dialog.popTip("找不到需要合并的订单", 2); 
}else{ 
var myTable=document.getElementById( "t_product" ); 
//遍历"ORDER"节点 
$(xml).find('ORDER').each(function(){ 
var id = $(this).find("ORDERID").text(); 
var status = $(this).find("STATUS").text(); if(status == "1"){ 
status="未确认"; 
}else{ 
status="已确认"; 
} 
var newRow = myTable.insertRow(); 
var oCell = newRow.insertCell(); 
oCell.setAttribute("height","25"); 
oCell.innerHTML=" "; 
oCell = newRow.insertCell(); 
oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">"; 
oCell = newRow.insertCell(); 
oCell.innerHTML=" "; 
oCell = newRow.insertCell(); 
oCell.innerHTML=" "; 
//遍历"PRODUCT"节点 
$(this).find('PRODUCT').each(function(){ 
var pid = $(this).find("PRODUCTID").text(); 
var pname = $(this).find("PRODUCTNAME").text(); 
var purl = $(this).find("PRODUCTURL").text(); 
var pprice = $(this).find("PRICE").text(); 
var pcount = $(this).find("GOODSCOUNT").text(); 
newRow = myTable.insertRow(); 
oCell = newRow.insertCell(); 
oCell.setAttribute("height","25"); 
oCell.innerHTML=pid; 
oCell = newRow.insertCell(); 
oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>"; 
oCell = newRow.insertCell(); 
oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"','"+pprice+"')\">" 
oCell = newRow.insertCell(); 
oCell.innerHTML=pprice; 
}); 
}); 
} 
}, 
error : function() { 
hide(); 
Dialog.popTip("服务器繁忙", 2); 
} 
});

JS版
if(xmlHttp.readyState ==4){ 
if(xmlHttp.status ==200){ 
hide(); 
var xml = xmlHttp.responseXML; 
if(xml == null){ 
Dialog.popTip("找不到需要合并的订单", 2); 
}else{ 
var myTable=document.getElementById("t_product" ); 
var orders = xml.getElementsByTagName("ORDER"); 
for(var i=0;i<orders.length;i++){ 
var order = orders[i]; 
var id = order.getElementsByTagName("ORDERID")[0].childNodes[0].nodeValue; 
var status =order.getElementsByTagName("STATUS")[0].childNodes[0].nodeValue; 
alert(status); 
if(status == "1"){ 
status="未确认"; 
}else{ 
status="已确认"; 
} 
var newRow = myTable.insertRow(); 
var oCell = newRow.insertCell(); 
oCell.setAttribute("height","25"); 
oCell.innerHTML=" "; 
oCell = newRow.insertCell(); 
oCell.innerHTML="*<b>订单<span style=\"color:red\">"+id+"</span> 的状态为:<span style=\"color:red\">"+status+"</span></b>,商品情况如下<input type=\"checkbox\" name=\"mOrder\" value="+id+" onclick=\"mergeOrder();\">"; 
oCell = newRow.insertCell(); 
oCell.innerHTML=" "; 
oCell = newRow.insertCell(); 
oCell.innerHTML=" "; var products = order.getElementsByTagName("PRODUCT"); 
for(var i=0;i<orders.length;i++){ 
var product = products[i]; 
var pid = product.getElementsByTagName("PRODUCTID")[0].childNodes[0].nodeValue; 
var pname = product.getElementsByTagName("PRODUCTNAME")[0].childNodes[0].nodeValue; 
var purl = product.getElementsByTagName("PRODUCTURL")[0].childNodes[0].nodeValue; 
var pprice = product.getElementsByTagName("PRICE")[0].childNodes[0].nodeValue; 
var pcount = product.getElementsByTagName("GOODSCOUNT")[0].childNodes[0].nodeValue; 
newRow = myTable.insertRow(); 
oCell = newRow.insertCell(); 
oCell.setAttribute("height","25"); 
oCell.innerHTML=pid; 
oCell = newRow.insertCell(); 
oCell.innerHTML="<a href=\""+purl+"\" target=\"_blank\">"+pname+"</a>"; 
oCell = newRow.insertCell(); 
oCell.innerHTML="<img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/-.png\" onclick=\"return plus('p"+pid+"','"+pprice+"')\" /><input style=\"width: 20px; border: 0; text-align: center;\" type=\"text\" id=\"p"+pid+"\" name=\"order.count\" class=\"txt\" value="+pcount+" readonly /><img style=\"cursor: pointer; vertical-align: middle\" src=\"./images/+.png\" onclick=\"return add('p"+pid+"','"+pprice+"')\">" 
oCell = newRow.insertCell(); 
oCell.innerHTML=pprice; 
} 
} 
} 
} 
}
Javascript 相关文章推荐
js浮点数精确计算(加、减、乘、除)
Dec 26 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
Lua表达式和控制结构学习笔记
Dec 15 Javascript
javascript实现微信分享
Dec 23 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
Bootstrap框架的学习教程详解(二)
Oct 18 Javascript
函数四种调用模式以及其中的this指向
Jan 16 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
开发Node CLI构建微信小程序脚手架的示例
Mar 27 Javascript
利用js实现简易红绿灯
Oct 15 Javascript
js如何取消事件冒泡
Sep 23 #Javascript
页面载入结束自动调用js函数示例
Sep 23 #Javascript
往光标所在位置插入值的js代码
Sep 22 #Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 #Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 #Javascript
JS 毫秒转时间示例代码
Sep 22 #Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 #Javascript
You might like
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
php学习之流程控制实现代码
2011/06/09 PHP
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
js数组循环遍历数组内所有元素的方法
2014/01/18 Javascript
node.js中的fs.readFile方法使用说明
2014/12/15 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
bootstrap实现图片自动轮播
2016/12/21 Javascript
js实现手机web图片左右滑动效果
2017/12/29 Javascript
详解vue中localStorage的使用方法
2018/11/22 Javascript
浅谈Vue.set实际上是什么
2019/10/17 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
数据挖掘之Apriori算法详解和Python实现代码分享
2014/11/07 Python
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
2020/06/06 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
Canon佳能美国官方商店:购买数码相机、数码单反相机、镜头和打印机
2016/11/15 全球购物
董事长职责范文
2013/11/08 职场文书
工作的心得体会
2013/12/31 职场文书
小学开学寄语
2014/01/19 职场文书
社区巾帼文明岗事迹材料
2014/06/03 职场文书
销售人员求职信
2014/07/22 职场文书
项目经理岗位职责
2015/01/31 职场文书
运动会1000米加油稿
2015/07/21 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
《画家和牧童》教学反思
2016/02/17 职场文书
css 中多种边框的实现小窍门
2021/04/07 HTML / CSS