tfeserver : Blog de tfe

Ayant du passer quelques temps sur internet pour trouver la solution, je me permets d'écrire un petit billet sur la solution pour utiliser xpath avec javascript.

L'idée est de créer 3 fonctions génériques qui fonctinneront  indépendemment du navigateur.
  • xpath (requete)
  • xpathItem (recupere un resultat)
  • xpathLength (recuper le nombre de résultats trouvés)


    // GetXPath 
    // Cross browser
    function xpath(path)
    {   
        if(this.xmlDoc.evaluate)
        {   
        return this.xmlDoc.evaluate(
            this.prefix+path,
            this.xmlDoc, 
            null, 
            XPathResult.ORDERED_NODE_SNAPSHOT_TYPE , 
            null 
        );  
        }   
        else
        {   
            return this.xmlDoc.selectNodes(this.prefix+path);
        }   
    },  

    // XPath result item
    // Cross browser
    function xpathItem(elt, i)
    {   
        if(elt.snapshotLength)
        {   
            return elt.snapshotItem(i);
        }   
        return elt[i];
    },  

    // XPath result length
    // Cross browser
    function xpathLength(elt)
    {   
        if(elt.snapshotLength)
        {   
            return elt.snapshotLength
        }   
        return elt.length;
    },  



Comment utiliser ces fonctions?
var resultats = xpath('/MON/CHEMIN[@monparametre=\'valeur\']');

for(var i= 0; i< xpathlength(resultats); i++)
{
  // on utilise ici le résultat avec
  // xpathItem(resultats,i);
}

javascript xpath