gpt4 book ai didi

jquery - 如何使用 idref 解析 xml 元素

转载 作者:行者123 更新时间:2023-12-01 03:52:15 25 4
gpt4 key购买 nike

给定一些示例 data.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<data>
<categories>
<category id="google">
<name>Google</name>
</category>
<categories>
<display>
<categories>
<category idref="google"/>
</categories>
</display>
</data>

还有一些用于获取 data.xml 文件的 jquery 代码:

$.ajax( {
url: '/data.xml',
dataType: 'xml',
success: function( data )
{
$data = $( data );
// fetch categories to display
$categories = $data.find( 'display > categories > category' );
}
} );

什么是有效且紧凑的方法来解析 $categories 中提取的元素通过其 idref 属性引用的 category 元素?

我想出了类似以下的东西:

$categories.each( function() {
var $category = $data.find( 'categories > category[id=' + $( this ).attr( 'idref' ) + ']' );
} );

但我认为可能有一种更紧凑的方式来收集元素。

最佳答案

您可以创建id selectors来自idref属性:

var referenced = $.unique($categories.map(function() {
var $found = $data.find("#" + $(this).attr("idref"));
return ($found.length ? $found[0] : null);
}).get());

上面的代码使用 map()$.unique()构建一个包含所有引用 <category> 的唯一实例的数组元素。

关于jquery - 如何使用 idref 解析 xml 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7220714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com