WinJS:对responseXML对象使用XPath方法
我的Windows8应用程序有问题。以下是代码的简化部分: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运行时错误
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取代。