首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检索特定的XML节点jQuery

检索特定的XML节点jQuery
EN

Stack Overflow用户
提问于 2012-02-06 23:15:33
回答 2查看 19.3K关注 0票数 1

在jQuery中处理XML相对较新。我正在尝试基于父元素中的属性从XML文件中检索特定的节点。以下是XML (简写):

代码语言:javascript
运行
复制
     <?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

代码语言:javascript
运行
复制
$(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'
    );
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-06 23:17:54

假设$xml是包装在jQuery对象中的XML:

代码语言:javascript
运行
复制
$xml.find('member[row="2"]')

将选择要操作的行。

代码语言:javascript
运行
复制
$xml.find('member[row="2"] firstName').text(); //returns Jane

这里就是这方面工作的一个例子。XML选择器的工作方式类似于从DOM中选择元素;您所知道的大部分内容都可以在这里应用。

票数 2
EN

Stack Overflow用户

发布于 2012-02-06 23:28:30

使用$.parseXML解析xml

代码语言:javascript
运行
复制
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);

演示

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9168782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档