[DOM XPATH] comment effectuer une requete xpath avec DOM
2 réponses
y.a.n
Bonjour
est il possible d effectuer dans dom des selection de Node avec des
expression xpath
comme avec xsl
ex :
match="//mon_noeud[@id='12']"
y aurait it un truc genre
Element e = document.getElement("//mon_noeud[@id='12']");
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
sebvillalon
"y.a.n" wrote in message news:<3f5ef60b$0$13293$...
Bonjour est il possible d effectuer dans dom des selection de Node avec des expression xpath comme avec xsl ex : match="//mon_noeud[@id='12']" y aurait it un truc genre Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple raison qu'XPath ne fait pas partie de la norme DOM. Par contre, des API l'implémente, comme Xalan (puisqu'XPath est utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.
"y.a.n" <y.a.n@free.fr> wrote in message news:<3f5ef60b$0$13293$626a54ce@news.free.fr>...
Bonjour
est il possible d effectuer dans dom des selection de Node avec des
expression xpath
comme avec xsl
ex :
match="//mon_noeud[@id='12']"
y aurait it un truc genre
Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple
raison qu'XPath ne fait pas partie de la norme DOM.
Par contre, des API l'implémente, comme Xalan (puisqu'XPath est
utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas
aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.
"y.a.n" wrote in message news:<3f5ef60b$0$13293$...
Bonjour est il possible d effectuer dans dom des selection de Node avec des expression xpath comme avec xsl ex : match="//mon_noeud[@id='12']" y aurait it un truc genre Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple raison qu'XPath ne fait pas partie de la norme DOM. Par contre, des API l'implémente, comme Xalan (puisqu'XPath est utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.
LOSINGER Olivier
En utilisant XPathAPI.selectNodeIterator(document, xPath); et en parcourant le NodeIterator, tu dois pouvoir faire cela .
Ci joint une copie de code implementant cette fonction:
} /** *Methode read:Lecture de la base *@param file Fichier à lire **/ public void read(String file) { try { //creation du factory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //creation du builder */ DocumentBuilder builder = factory.newDocumentBuilder(); //on parse le fichier document = builder.parse( new File(file) ); //on obtient la liste des noeuds NodeList listdoc=document.getChildNodes(); //on recupere le fils cad le root //root=(Element)listdoc.item(0); } catch (Exception e) { e.printStackTrace(); }
}
/** *Ecriture dans le fichier *@param file nom du fichier *@return aucun **/ public void write(String file) {
OutputFormat outf = new OutputFormat(); outf.setIndent(0); outf.setIndenting(true); outf.setEncoding("ISO-8859-1");
"y.a.n" wrote in message news:<3f5ef60b$0$13293$...
Bonjour est il possible d effectuer dans dom des selection de Node avec des expression xpath comme avec xsl ex : match="//mon_noeud[@id='12']" y aurait it un truc genre Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple raison qu'XPath ne fait pas partie de la norme DOM. Par contre, des API l'implémente, comme Xalan (puisqu'XPath est utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.
En utilisant XPathAPI.selectNodeIterator(document, xPath); et en parcourant
le NodeIterator, tu dois pouvoir faire cela .
Ci joint une copie de code implementant cette fonction:
}
/**
*Methode read:Lecture de la base
*@param file Fichier à lire
**/
public void read(String file)
{
try
{
//creation du factory
DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();
//creation du builder */
DocumentBuilder builder = factory.newDocumentBuilder();
//on parse le fichier
document = builder.parse( new File(file) );
//on obtient la liste des noeuds
NodeList listdoc=document.getChildNodes();
//on recupere le fils cad le root
//root=(Element)listdoc.item(0);
}
catch (Exception e)
{
e.printStackTrace();
}
}
/**
*Ecriture dans le fichier
*@param file nom du fichier
*@return aucun
**/
public void write(String file)
{
OutputFormat outf = new OutputFormat();
outf.setIndent(0);
outf.setIndenting(true);
outf.setEncoding("ISO-8859-1");
"y.a.n" <y.a.n@free.fr> wrote in message
news:<3f5ef60b$0$13293$626a54ce@news.free.fr>...
Bonjour
est il possible d effectuer dans dom des selection de Node avec des
expression xpath
comme avec xsl
ex :
match="//mon_noeud[@id='12']"
y aurait it un truc genre
Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple
raison qu'XPath ne fait pas partie de la norme DOM.
Par contre, des API l'implémente, comme Xalan (puisqu'XPath est
utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas
aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.
} /** *Methode read:Lecture de la base *@param file Fichier à lire **/ public void read(String file) { try { //creation du factory DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //creation du builder */ DocumentBuilder builder = factory.newDocumentBuilder(); //on parse le fichier document = builder.parse( new File(file) ); //on obtient la liste des noeuds NodeList listdoc=document.getChildNodes(); //on recupere le fils cad le root //root=(Element)listdoc.item(0); } catch (Exception e) { e.printStackTrace(); }
}
/** *Ecriture dans le fichier *@param file nom du fichier *@return aucun **/ public void write(String file) {
OutputFormat outf = new OutputFormat(); outf.setIndent(0); outf.setIndenting(true); outf.setEncoding("ISO-8859-1");
"y.a.n" wrote in message news:<3f5ef60b$0$13293$...
Bonjour est il possible d effectuer dans dom des selection de Node avec des expression xpath comme avec xsl ex : match="//mon_noeud[@id='12']" y aurait it un truc genre Element e = document.getElement("//mon_noeud[@id='12']");
merci.
A ma conanissance, ce n'est pas possible, pour la bonnne et simple raison qu'XPath ne fait pas partie de la norme DOM. Par contre, des API l'implémente, comme Xalan (puisqu'XPath est utilisé dans XSL). regarde un peu chez Apache. C'est peut-être pas aussi simple que tu l'espères, mais j'ai déjà utilisé la classe XPath.