解析XML元素鉴于一些样本data.xml
文件:如何使用IDREF
<?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>
和一些jQuery代码来获取data.xml
文件:
$.ajax({
url: '/data.xml',
dataType: 'xml',
success: function(data)
{
$data = $(data);
// fetch categories to display
$categories = $data.find('display > categories > category');
}
});
什么是解决一个高效紧凑的方法$categories
中提取的元素所参照的category
元素是否由它们的idref
属性引用?
我拿出像下面这样:
$categories.each(function() {
var $category = $data.find('categories > category[id=' + $(this).attr('idref') + ']');
});
但我认为有可能是收集元素的更紧凑的方式。
这是否适用于任意XML文档? – Tomalak
@Tomalak,我确定它可以与所有格式良好的XML文档一起工作,是的。我创建了一个简单的测试小提琴[here](http://jsfiddle.net/fhamidi/f7v2J/),id选择器适用于我。 –
这也很好。当然,你也可以简单地创建id选择器。为什么我没有想到这个? ;-) –