javascript - Jquery XML 解析

标签 javascript jquery xml parsing

我有一个像这样的 XML

<resultGroups> 
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>    
    <name> </name>
</resultGroups>
<resultGroups> 
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>    
    <name> </name>
</resultGroups>

我有这段代码来选择每个结果组内的结果数量

$('resultGroups', $(xml)).each(function() {
    count = $('results', this).length;
    arr[i] = count;
    i++;
});

我想要的是从每个 resultGroup 标记中获取名称并将其存储在数组中。
我怎样才能在上面的代码中做到这一点?

如何在没有 .each 函数的情况下仅选择第一个结果组的名称标签?

最佳答案

如果您的 XML 如下所示:

<resultGroups> 
    <subGroups>
        <results> </results>
    </subGroups>
    <subGroups>
        <results> </results>
    </subGroups>    
    <name>myname</name>
</resultGroups>
<resultGroups> 
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>
    <subGroups>
        <results> </results>
        <results> </results>
    </subGroups>    
    <name>othername</name>
</resultGroups>

使用此代码:

var groups = {};
$('resultGroups', $(xml)).each(function() {
    var count = $('results', this).length;
    var name = $('name',this).text();
    groups[name] = count;
});

之后,组将成为一个字典(对象,因此是 {}),如下所示:

{'myname': 2, 'othername': 4}

您可以通过执行groups.mynamegroups['myname']来访问它

要直接在 resultGroups 标签中获取名称标签 - 我在示例代码中没有看到任何其他标签,所以我不知道还有更多 - 请改用此代码:

var name = $(this).children('name').text();

关于javascript - Jquery XML 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985908/

相关文章:

javascript - 将 XML 解析为 HTML/JS

javascript - 使用 javascript/jquery 获取 docx 文件内容

javascript - 如何在表单之外显示 Angular 输入错误状态

java - 如何拥有一个可扩展的CardView?

javascript - 如何从 div 级别删除动态生成的字段?

javascript - 如何在 jquery 中获取最接近的 img 标签?

javascript - 默认为特定过滤器选项 extjs 4.1.3

javascript - 在 JavaScript IF 子句中执行 Shell 脚本

javascript - 将点击事件应用于除单个元素之外的所有元素

php - 访问ajax/jquery返回的数据并将其放入表单字段