JQuery。递归地解析XML。怎么用?
如何解析以下XML并通过索引获取值?下面的示例有效,但它一次返回所有值。如何在每个循环中访问每个单独的节点值?有没有办法按索引来做JQuery。递归地解析XML。怎么用?,jquery,xml,Jquery,Xml,如何解析以下XML并通过索引获取值?下面的示例有效,但它一次返回所有值。如何在每个循环中访问每个单独的节点值?有没有办法按索引来做 <?xml version="1.0" encoding="utf-8"?> <!----> <GetAccount> <id>free2rhyme</id> <password>letmein</password> <name>jerry mcguire&l
<?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');
自由诗
莱特明
杰瑞·麦奎尔
29
M
犹他州盐湖城
英语
00/00/0000
Y
A.
$.get('getAccount.xml',null,函数(数据){
var getAccount=$(数据).find('getAccount').each(函数(){
var值=$(this.text();
警报(值);
});
}“xml”);
jQuery对待XML几乎和对待HTML一样。(处理XML文档时缺少.html()
方法。)因此,要获取
节点的
子节点的内容,请执行以下操作:
var getAccount = $(data).find('GetAccount').each(function(){
var value = $(this).find('id').text();
alert(value);
}
这将通过所有元素“GetAccount”子元素及其值来实现:
$.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');
var value=$(this.find('id').text();“id”是否可以替换为某种索引号?如果我直接访问这些值,基本上不需要Each循环,因为我只需要执行var value=$(this.find('GetAccount id').text()@只要您确定只有一个
GetAccount
和id
,Vini就可以正常工作。否则,它将组合选择器匹配的每个节点的文本内容。@Vini jQuery支持伪选择器,包括,如果有帮助的话。。。不是XQuery的完全替代品,但是…@mblase75:如果我递归地需要它,那么最好的方法是什么?@Vini如果你需要一个循环,请使用我的答案中的内容。如果它实际上是递归的——这意味着在
节点中有
节点——那么XML构造函数就有问题了。这是一个很好的开始。非常感谢。