Dojo: Как мне перечислить все элементы в dojox.data.XmlStore на консоль? - PullRequest
3 голосов
/ 17 декабря 2011

Я думаю, что это вопрос с простым ответом ... Я просто хочу просмотреть элементы в 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.require("dojox.data.XmlStore");
var store = new dojox.data.XmlStore({url: "houses.xml", rootItem: "marker"});

Я не могу найти ЛЮБЫХ ссылок на просмотр в XmlStore ... Любая помощь приветствуется.

Спасибо - Найджел

1 Ответ

2 голосов
/ 17 декабря 2011

Это должно пройти через стандартный dojo.data.api.Read .Пример из aliveocs :

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 будет пропущено.Вы можете использовать ИЛИ другое, но не оба для одной и той же выборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...