JQuery的。递归解析XML。怎么样?

时间:2011-10-14 20:18:33

标签: jquery xml

如何解析以下XML并按索引获取值?以下示例有效,但它一次返回所有值。如何在每个循环内访问每个单独的节点值?有没有办法通过索引来做到这一点?

<?xml version="1.0" encoding="utf-8"?>
<!---->
<GetAccount>
  <id>free2rhyme</id>
  <password>letmein</password>
  <name>jerry mcguire</name>
  <age>29</age>
  <sex>m</sex>
  <location>salt lake city, utah</location>
  <language>english</language>
  <signup>00/00/0000</signup>
  <confirmed>y</confirmed>
  <status>a</status>
</GetAccount>


$.get('getAccount.xml', null, function (data) {

    var getAccount = $(data).find('GetAccount').each( function(){

    var value = $(this).text();
    alert(value);

    });
}, 'xml');

2 个答案:

答案 0 :(得分:2)

这将迭代所有元素“获取帐户”子元素及其值:

$.get('getAccount.xml', null, function (data) {
    var getAccountID = $(data).find('GetAccount').each( function(){
      $('*', this).each(function(i,e){
        alert('index='+i+' name='+e.tagName+' value='+$(e).text())
      });
    });
}, 'xml');

答案 1 :(得分:0)

jQuery几乎与HTML一样对待XML。 (处理XML文档时不存在.html()方法。)因此,要获取<id>节点的<GetAccount>子节点的内容,请执行以下操作:

var getAccount = $(data).find('GetAccount').each(function(){
    var value = $(this).find('id').text();
    alert(value);
}