Javascript DOJO-使用XPath查询XmlStore

Javascript DOJO-使用XPath查询XmlStore,javascript,xml,xpath,dojo,Javascript,Xml,Xpath,Dojo,我有一个dojox.data.XmlStore,我想使用XPath查询xml存储。有没有办法做到这一点? 下面的示例表示对属性的查询,但我想使用item元素提供的XPath查询 var store = new dojox.data.XmlStore({url: "books.xml", rootItem: "book"}); var gotBooks = function(items, request){ for(var i = 0; i < items.length; i++){

我有一个dojox.data.XmlStore,我想使用XPath查询xml存储。有没有办法做到这一点? 下面的示例表示对属性的查询,但我想使用item元素提供的XPath查询

var store = new dojox.data.XmlStore({url: "books.xml", rootItem: "book"});
var gotBooks = function(items, request){
  for(var i = 0; i < items.length; i++){
    var item = items[i];
    console.log("Located book: " + store.getValue(item, "title");
  }
}
var request = store.fetch({query: {isbn:"A9B57*"}, onComplete: gotBooks});
store.fetch({
          //for the query element the item.query field can be used in this way
           query: item.query, 
           onComplete: onComplete,
           onError: onError
});
如果使用XmlItem中的“查询”字段,则不会提供任何结果
var request=store.fetch({query:item.q,onComplete:gotBooks})

在查询中尝试使用regExp而不是“*”,如:

var request = store.fetch({query: {isbn:new RegExp('A9B57','i')}, onComplete: gotBooks});
store.fetch({
          //for the query element the item.query field can be used in this way
           query: item.query, 
           onComplete: onComplete,
           onError: onError
});
如果需要查询全部,只需使用:

var request = store.fetch({query: {}, onComplete: gotBooks});
store.fetch({
          //for the query element the item.query field can be used in this way
           query: item.query, 
           onComplete: onComplete,
           onError: onError
});

要从XmlStore提取数据,我们可以使用XmlItem提供的字段查询,如下面的示例所示

store.fetch({
          //for the query element the item.query field can be used in this way
           query: item.query, 
           onComplete: onComplete,
           onError: onError
});
答案在dijit/tree/ForestStoreModel#getChildren()中的Dojo源中找到

store.fetch({
          //for the query element the item.query field can be used in this way
           query: item.query, 
           onComplete: onComplete,
           onError: onError
});