遍历xml删选_jQuery实现遍历XML节点和属性的方法示例

本文实例讲述了jQuery实现遍历XML节点和属性的方法。分享给大家供大家参考,具体如下:

用jquery遍历xml网上已经有很多, 但是看了好多文章, 对于不指定属性名称的遍历方法却没有

研究了一下, 好像jquery没有attributes. 还是要借助于原生态的JS

以下是JS代码

//用于缩进, 根据节点级别

var M_DOT = 1;

//递归函数, 用于遍历XML, 同时打印出来

function fn(obj){

//定义一个变量, 用于缩进

var dotString = "";

//根据缩进量, 得到缩进的长度

for(j = 1; j <= M_DOT; j++){

dotString += "    ";

}

//jquery不支持attributes属性集, 转为原生js, 并赋给myObj变量

var myObj = obj[0].attributes;

//打印缩进

$("#c").append(dotString)

//打印属性集nodeName, nodeValue为原生JS, 分别表示为属性的名称, 和属性值

$(myObj).each(function(i){

$("#c").append( ($(this)[0].nodeName) + "=" + ($(this)[0].nodeValue) + " " );

})

//打印节点的文本

//$("#c").append( "" + obj.text() + "
");

//打印换行

$("#c").append( "
");

//判断DOM有无子DOM

if( obj.length > 0 ){

//如果有, 遍历之

obj.children().each(function(i){

//缩进量加一

M_DOT++;

//递归遍历子DOM

fn($(this));

//缩进量加一

M_DOT--;

})

}else{

//如果没有子DOM, 返回false

return false;

}

}

//程序入口

$(document).ready(function() {

//ajax获取xml数据, 详细用法见jquery手册

$.get('config.xml', function(d){

//len = $(d).find("*").length;

//找到xml顶级结点. ('*:first'):就是查找第一个DOM. 详细说明见jquery手册

//find, children(), each, 以及后面用到的 append 等请查阅jquery手册

$(d).find('*:first').children().each(function(i){

//找到顶级结点的子结点, 并把子结点对象传给fn函数

fn($(this));

});

});

});

附一个XML文件

请取名config.xml放在和以上js同目录下, 并都放在站点中

李华

1978.9.12

92

Java

Oracle

C Sharp

SQL Server

李寻欢

1981.4.19

58

UML

C Sharp

XML

SQL Server

PS:这里再为大家提供几款关于xml操作相关在线工具供大家参考使用:

希望本文所述对大家jQuery程序设计有所帮助。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值