WinJS: use un método XPath con un objeto responseXML

Tengo un problema con una aplicación de Windows8. Aquí está la parte simplificada del código:

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

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

    console.log(element);

}

Sin embargo, genera un error: JavaScript runtime error: Unknown method. -->COUNT(//<--item.

¿Es posible llamar a algunos métodos XPath en WinJS? Si es así, ¿dónde está el error? Supongo que no es el método correcto invocado (aquí seleccionamos un escalar, no un nodo). Pero no encuentro nada en la documentación.

preguntado el 03 de mayo de 12 a las 10:05

No estoy familiarizado con winjs, pero en lo que respecta a XPath, el nombre de la función es count y no COUNT. Sin embargo, con otras API de Microsoft XPath como en MSXML o .NET, un método como selectSingleNode solo funciona con la expresión XPath seleccionando un nodo o un conjunto de nodos, no con los que devuelven un valor primitivo. .NET tiene un método de evaluación para tales expresiones XPath, no sé si eso es de alguna utilidad en winjs. Para su simple expresión, podría intentar var count = response.selectNodes("//item").length; en lugar de. -

Gracias por tu ayuda. Hice como me propusiste finalmente. :) Tenga en cuenta que hubo algunos cambios desde Developer Preview 7, y seleccioneSingleNode ha sido reemplazado por querySelectorAll. -

0 Respuestas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.