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

(编辑:jimmy 日期: 2024/10/10 浏览:2)

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;
}
}
}
}
}

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。