首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dojox.data.XmlStore :如何在控制台列出Dojo中的所有项?

dojox.data.XmlStore :如何在控制台列出Dojo中的所有项?
EN

Stack Overflow用户
提问于 2011-12-17 06:28:34
回答 1查看 2.5K关注 0票数 3

我想这是一个答案很简单的问题...我只想遍历XmlStore中的项目,并将每个项目打印出来。

XML:(houses.xml)

代码语言:javascript
复制
<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中,代码如下所示:

代码语言:javascript
复制
$.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的相关性,所以它至少要这么简单...

到目前为止:

代码语言:javascript
复制
dojo.require("dojox.data.XmlStore");
var store = new dojox.data.XmlStore({url: "houses.xml", rootItem: "marker"});

我找不到任何关于循环遍历XmlStore的引用...任何帮助都将不胜感激。

谢谢-奈杰尔

EN

回答 1

Stack Overflow用户

发布于 2011-12-17 20:40:49

它应该通过标准的dojo.data.api.Read。来自livedocs的示例

代码语言:javascript
复制
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。对于同一个fetch,您可以使用on或other,但不能同时使用二者。

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

https://stackoverflow.com/questions/8540873

复制
相关文章

相似问题

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