我认为这是一个简单回答的问题......我只想循环浏览XmlStore中的项目并打印出每个项目......
XML:(houses.xml)
<test>
<home>
<name>Perris, CA</name>
<addr>123 Wilson Ave</home>
</home>
<home>
<name>Palmdale, CA</name>
<addr>345 Terrace Ave</addr>
</home>
</test>
在jQuery中,代码如下所示:
$.get("houses.xml", function(xml){
$(xml).find('marker').each(function(){
var name = $(this).find('name').text();
var addr = $(this).find('addr').text();
$("<div>" + name + " - " + addr + "</div><br>").appendTo("#listDiv");
});
});
我想保持dojo的相关性,所以它必须至少这么简单......
到目前为止:
dojo.require("dojox.data.XmlStore");
var store = new dojox.data.XmlStore({url: "houses.xml", rootItem: "marker"});
我找不到任何循环遍历XmlStore的引用......任何帮助都将不胜感激。
谢谢 - 奈杰尔
答案 0 :(得分:2)
它应该通过标准dojo.data.api.Read。来自livedocs的示例:
var store = new dojox.data.XmlStore({url: "books.xml", rootItem: "book"});
var gotBooks = function(items, request){
dojo.forEach(items, function(item) {
console.log("Located book: " + store.getValue(item, "title"));
})
}
var request = store.fetch({query: {isbn:"a9b57*"}, queryOptions: {ignoreCase: true}, onComplete: gotBooks});
onComplete
回调会为您提供商店中所有商品的数组
onItem
回调
请注意,如果调用onItem,将跳过onComplete。您可以使用OR或其他,而不是两者用于相同的提取。