检索特定的XML节点,jQuery
在jQuery中处理XML相对较新。我试图根据XML文件父元素中的属性从XML文件中检索特定节点。以下是XML(简短版本):检索特定的XML节点,jQuery,jquery,xml,Jquery,Xml,在jQuery中处理XML相对较新。我试图根据XML文件父元素中的属性从XML文件中检索特定节点。以下是XML(简短版本): 假设$xml是用jQuery对象包装的xml: $xml.find('member[row="2"]') 将选择要操纵的行 $xml.find('member[row="2"] firstName').text(); //returns Jane 这是一个有效的例子。XML选择器的工作原理类似于从DOM中选择元素;您所知道的大部分内容都可以在这里应用。假设$xml是包
假设
$xml
是用jQuery对象包装的xml:
$xml.find('member[row="2"]')
将选择要操纵的行
$xml.find('member[row="2"] firstName').text(); //returns Jane
这是一个有效的例子。XML选择器的工作原理类似于从DOM中选择元素;您所知道的大部分内容都可以在这里应用。假设
$xml
是包装在jQuery对象中的xml:
$xml.find('member[row="2"]')
将选择要操纵的行
$xml.find('member[row="2"] firstName').text(); //returns Jane
这是一个有效的例子。XML选择器的工作原理类似于从DOM中选择元素;您所知道的大部分内容都可以在这里应用。使用
var-xml='1〕\
\
约翰\
史密斯\
活跃的\
成员\
2011年8月\
\
\
简\
史密斯\
活跃的\
成员\
2011年10月\
\
';
xmlDoc=$.parseXML(xml);
$xml=$(xmlDoc);
$member=$xml.find('member[row=“2”]”)。find('firstName')。text();
console.log($member);
使用
var-xml='1〕\
\
约翰\
史密斯\
活跃的\
成员\
2011年8月\
\
\
简\
史密斯\
活跃的\
成员\
2011年10月\
\
';
xmlDoc=$.parseXML(xml);
$xml=$(xmlDoc);
$member=$xml.find('member[row=“2”]”)。find('firstName')。text();
console.log($member);
看起来这是正确的,但我似乎无法使用上述代码获取文本。当我尝试在警报消息中使用它时,它返回“undefined”-
var test=$xml.find('member[row=“2”].attr('firstName');
此解决方案对我来说非常有效,感谢您的帮助:)看起来这是正确的,但我似乎无法使用上述代码获取文本。当我尝试在警报消息中使用它时,它返回“undefined”——var test=$xml.find('member[row=“2”].attr('firstName');
此解决方案对我来说非常有效,感谢您的帮助:)好的,这和您的示例中一样有效,但是当我尝试引用外部文件(member_xml.php)时,它会说无效的xml?我遗漏了什么?好的,这和您的示例中一样好,但是当我尝试引用外部文件(member_xml.php)时,它会说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);