WinJS:对responseXML对象使用XPath方法

WinJS:对responseXML对象使用XPath方法,xpath,windows-8,windows-runtime,winjs,Xpath,Windows 8,Windows Runtime,Winjs,我的Windows8应用程序有问题。以下是代码的简化部分: return WinJS.xhr({ url: url }).then(function (response) { var response = response.responseXML; var element = response.selectSingleNode("COUNT(//item)"); console.log(element); } 但是,它会引发一个错误:JavaScript运行时错误

我的Windows8应用程序有问题。以下是代码的简化部分:

return WinJS.xhr({ url: url }).then(function (response) {

    var response = response.responseXML;
    var element = response.selectSingleNode("COUNT(//item)");

    console.log(element);

}

但是,它会引发一个错误:
JavaScript运行时错误:未知方法。-->计数(//我不熟悉winjs,但就XPath而言,函数名是
count
,而不是
count
。但是,对于其他Microsoft XPath API,如MSXML或.NET中的
selectSingleNode
方法,只适用于XPath表达式选择节点或节点集,而不适用于返回原语值的节点或节点集。.NET为此类XPath表达式提供了一个求值方法,我不知道这在winjs中是否有用。对于简单表达式,您可以尝试
var count=response.selectNodes(//item”).length;
。谢谢您的帮助。我最终同意了您的建议。:)请注意,自开发人员预览7以来发生了一些更改,selectSingleNode已被querySelectorAll取代。我不熟悉winjs,但就XPath而言,函数名是
count
,而不是
count
。但是对于MSXML或.NET中的其他Microsoft XPath API,类似
selectSingleN的方法ode
仅适用于选择节点或节点集的XPath表达式,而不适用于返回原语值的XPath表达式。.NET为此类XPath表达式提供了求值方法,我不知道这在winjs中是否有用。对于简单表达式,可以尝试
var count=response.selectNodes(//item”).length;
取而代之。谢谢您的帮助。我最终还是喜欢上了您的建议。:)请注意,自Developer Preview 7以来发生了一些更改,selectSingleNode已被querySelectorAll取代。