2010-04-23 8 views
2

J'ai un code commefonction document.evalute donnant exception

res = doc.evalute(xpathExpr,doc, 
        function(prefix) {return namespaces[prefix] || null;}, 
        XPathResult.ANY_TYPE,null); 

Ici doc est noeud document DOM

Quand je lance pour la boucle comme ce

for(i in doc) alert(i); 

donne méthode Evaluate

mais quand j'ai essayé d'utiliser cette méthode sur le noeud dom il me donne une erreur comme

XPathResult non définie ...

je travaille dans le navigateur Android

merci à l'avance ....

Répondre

2
XPathResult.ANY_TYPE 

Il est pas garanti que le niveau DOM 3 XPath XPathResult Interface sera en fait représenté par un membre window appelé XPathResult. En fait, aucune des interfaces DOM n'est spécifiée pour être reflétée en tant que fonctions-constructeur dans window. Dans la plupart des navigateurs non IE, beaucoup d'entre eux le sont. Mais le navigateur d'Android ne semble pas supporter evaluate sur un HTMLDocument; Je suppose que c'est pourquoi il ne fournit pas également XPathResult. Par conséquent, si vous voulez obtenir un membre statique comme ANY_TYPE, la seule façon fiable de le faire est d'avoir déjà une instance de cette classe, et d'y accéder par .ANY_TYPE. Comme vous n'avez pas de XPathResult à ce stade, il vaut probablement mieux dire 0.

+0

homme merci pour votre réponse ..... Mais quel est le point de donner le support de l'evalute quand il est objet de type retour est pas là .... c'est quelque chose comme une fonction de retour int et int est non défini .... d'autre part si XPathResult n'est pas défini et selectNode est pas là .... comment se fait-je utiliser requête XPath dans le navigateur Android ... –

+0

Encore une fois, vous ne devriez pas utiliser ' XPathResult' directement dans * tout * navigateur Web. Ce n'est qu'un effet secondaire qu'il est présent en tant que variable globale dans certains navigateurs. Comme essayer d'aller chercher 'Node.ELEMENT_NODE' (qui ne fonctionnera pas dans IE); il n'y a pas de standard qui dit que 'window.XPathResult' devrait exister du tout. – bobince

+0

obtenu votre point maintenant ... une dernière aide ... pouvez-vous me dire comment utiliser la requête xpath dans le navigateur android. J'ai une expression xpath du noeud dom de document, Je dois retourner la liste des noeuds satisfaisant la xpth dans xml doc. –

0

Essayez d'utiliser Components.interfaces.nsIDOMXPathResult au lieu de XPathResult.

Questions connexes