在jQuery中处理XML相对较新。我正在尝试基于父元素中的属性从XML文件中检索特定的节点。以下是XML (简写):
<?xml version="1.0" encoding="UTF-8"?>
<members>
<member row="1">
<firstName>John</firstName>
<lastName>Smith</lastName>
<status>Active</status>
<title>Member</title>
<memberSince>August, 2011</memberSince>
</member>
<member row="2">
<firstName>Jane</firstName>
<lastName>Smith</lastName>
<status>Active</status>
<title>Member</title>
<memberSince>October, 2011</memberSince>
</member>
</members>
我了解如何在$.get()
中使用jQuery检索XML的基本知识,但似乎无法理解如何仅检索member row="2"
的详细信息。
任何帮助都将不胜感激。
更新
下面是我在这个简单测试中使用的jQuery,警报返回为undefined
$(document).ready(function() {
$.get(
'member_xml.php', function($xml) {
$xml = $($xml);
row = 2;
var test = $xml.find('member[row="' + row + '"]').attr('firstName');
alert(test);
},
'xml'
);
});
发布于 2012-02-06 23:17:54
假设$xml
是包装在jQuery对象中的XML:
$xml.find('member[row="2"]')
将选择要操作的行。
$xml.find('member[row="2"] firstName').text(); //returns Jane
这里就是这方面工作的一个例子。XML选择器的工作方式类似于从DOM中选择元素;您所知道的大部分内容都可以在这里应用。
发布于 2012-02-06 23:28:30
使用$.parseXML
解析xml
var xml = '<members>\
<member row="1">\
<firstName>John</firstName>\
<lastName>Smith</lastName>\
<status>Active</status>\
<title>Member</title>\
<memberSince>August, 2011</memberSince>\
</member>\
<member row="2">\
<firstName>Jane</firstName>\
<lastName>Smith</lastName>\
<status>Active</status>\
<title>Member</title>\
<memberSince>October, 2011</memberSince>\
</member>\
</members>';
xmlDoc = $.parseXML( xml );
$xml = $( xmlDoc );
$member = $xml.find('member[row="2"]').find('firstName').text();
console.log($member);
演示
https://stackoverflow.com/questions/9168782
复制相似问题