Bonjour à tous,
J'ai un pb d'accès aux noeuds d'une arborescence XML via XPath.
Je charge un fichier et je le parcours "manuellement", il contient bien
la structure attendue, à savoir :
svg
g id=toto
g id
path
g id
path
path
path
path
path
g id
path
path
path
path
path
path
g id
path
path
path
path
g id
path
path
path
path
path
Pourtant, ceci ne fonctionne pas :
XPath xpath = XPathFactory.newInstance().newXPath();
// final String expression = "//g[@id='" + _zone + "']/path";
Node node = (Node) xpath.evaluate("//g[@id='" + _zone + "']", _doc,
XPathConstants.NODE);
assert node != null : "Impossible de trouver la zone : " + _zone; //
BING !
return (NodeList) xpath.evaluate("path", node,
XPathConstants.NODESET);
Quelqu'un saurait-il ce que je ne comprnds pas ?
Merci d'avance, Thomas.
Bonjour à tous,
J'ai un pb d'accès aux noeuds d'une arborescence XML via XPath.
Je charge un fichier et je le parcours "manuellement", il contient bien
la structure attendue, à savoir :
svg
g id=toto
g id
path
g id
path
path
path
path
path
g id
path
path
path
path
path
path
g id
path
path
path
path
g id
path
path
path
path
path
Pourtant, ceci ne fonctionne pas :
XPath xpath = XPathFactory.newInstance().newXPath();
// final String expression = "//g[@id='" + _zone + "']/path";
Node node = (Node) xpath.evaluate("//g[@id='" + _zone + "']", _doc,
XPathConstants.NODE);
assert node != null : "Impossible de trouver la zone : " + _zone; //
BING !
return (NodeList) xpath.evaluate("path", node,
XPathConstants.NODESET);
Quelqu'un saurait-il ce que je ne comprnds pas ?
Merci d'avance, Thomas.
Bonjour à tous,
J'ai un pb d'accès aux noeuds d'une arborescence XML via XPath.
Je charge un fichier et je le parcours "manuellement", il contient bien
la structure attendue, à savoir :
svg
g id=toto
g id
path
g id
path
path
path
path
path
g id
path
path
path
path
path
path
g id
path
path
path
path
g id
path
path
path
path
path
Pourtant, ceci ne fonctionne pas :
XPath xpath = XPathFactory.newInstance().newXPath();
// final String expression = "//g[@id='" + _zone + "']/path";
Node node = (Node) xpath.evaluate("//g[@id='" + _zone + "']", _doc,
XPathConstants.NODE);
assert node != null : "Impossible de trouver la zone : " + _zone; //
BING !
return (NodeList) xpath.evaluate("path", node,
XPathConstants.NODESET);
Quelqu'un saurait-il ce que je ne comprnds pas ?
Merci d'avance, Thomas.
Bonjour à tous,
Bonjour à tous,
Bonjour à tous,
Mouiiii... merci, en fait, je suis déjà en mode debug... l'expression
que tu proposes était mon point de départ (cf. ligne commentée =>
NullPointerException).
J'ai fait des essais avec XPath Explorer (que je recommande, il est
excellent) : même les expressions générées automatiquement en
cliquant dans l'arborescence semblent ne pas fonctionner sur ce fichier
!
Je ne sais pas trop quoi essayer, du coup. A mon avis, je vais le faire
à la main... XPath, ça doit être pour les grands garçons !
Thomas.
Mouiiii... merci, en fait, je suis déjà en mode debug... l'expression
que tu proposes était mon point de départ (cf. ligne commentée =>
NullPointerException).
J'ai fait des essais avec XPath Explorer (que je recommande, il est
excellent) : même les expressions générées automatiquement en
cliquant dans l'arborescence semblent ne pas fonctionner sur ce fichier
!
Je ne sais pas trop quoi essayer, du coup. A mon avis, je vais le faire
à la main... XPath, ça doit être pour les grands garçons !
Thomas.
Mouiiii... merci, en fait, je suis déjà en mode debug... l'expression
que tu proposes était mon point de départ (cf. ligne commentée =>
NullPointerException).
J'ai fait des essais avec XPath Explorer (que je recommande, il est
excellent) : même les expressions générées automatiquement en
cliquant dans l'arborescence semblent ne pas fonctionner sur ce fichier
!
Je ne sais pas trop quoi essayer, du coup. A mon avis, je vais le faire
à la main... XPath, ça doit être pour les grands garçons !
Thomas.
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit commencer
par une lettre si ma mémoire est bonne.
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit commencer
par une lettre si ma mémoire est bonne.
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit commencer
par une lettre si ma mémoire est bonne.
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit
commencer par une lettre si ma mémoire est bonne.
firefox et inkscape le lise sans pb, il ne doit pas etre si invalide que
ca...
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit
commencer par une lettre si ma mémoire est bonne.
firefox et inkscape le lise sans pb, il ne doit pas etre si invalide que
ca...
Bonsoir,
En premier, ton SVG n'est pas du XML valide car un XML ID doit
commencer par une lettre si ma mémoire est bonne.
firefox et inkscape le lise sans pb, il ne doit pas etre si invalide que
ca...
Bonjour,
De quoi parles-tu ?? Des noms des balises, des noms des attributs, ou
des valeurs des attributs ?
Je ne vois aucun tag ni attribut dont le nom ne commence pas par une
lettre ; à moins que tu ne parles des attrributs "id", et là c'est
carrément grossier. Etant bien entendu que la première "balise" est
tout à fait valide et sert à fdéfinir tout fichier XML qui se
respecte... Et, là, ce sont bien tes souvenirs (?) qui flanchent,
malheureusement.
Ecoute, j'apprécie tes efforts, mais tes interventions sur ce thread
ne me semblent pas pertinentes ; je pense qu'XML et Xpath en Java ne
sont pas tes points forts, si ? Avant de dire n'importe quoi, pour
meubler "ton" forum, il vaudrait mieux réfléchir deux minutes ou
vérifier tes affirmations. Je ne voulais pas en arriver là, mais il
me semble que cette critique peut améliorer la qualité des
discussions qui s'y trouvent (sur le forum). Tu seras sans doute
d'accord qu'en matière d'information la qualité prime sur la
quantité.
Constructivement (j'espère), Thomas.
Bonjour,
De quoi parles-tu ?? Des noms des balises, des noms des attributs, ou
des valeurs des attributs ?
Je ne vois aucun tag ni attribut dont le nom ne commence pas par une
lettre ; à moins que tu ne parles des attrributs "id", et là c'est
carrément grossier. Etant bien entendu que la première "balise" est
tout à fait valide et sert à fdéfinir tout fichier XML qui se
respecte... Et, là, ce sont bien tes souvenirs (?) qui flanchent,
malheureusement.
Ecoute, j'apprécie tes efforts, mais tes interventions sur ce thread
ne me semblent pas pertinentes ; je pense qu'XML et Xpath en Java ne
sont pas tes points forts, si ? Avant de dire n'importe quoi, pour
meubler "ton" forum, il vaudrait mieux réfléchir deux minutes ou
vérifier tes affirmations. Je ne voulais pas en arriver là, mais il
me semble que cette critique peut améliorer la qualité des
discussions qui s'y trouvent (sur le forum). Tu seras sans doute
d'accord qu'en matière d'information la qualité prime sur la
quantité.
Constructivement (j'espère), Thomas.
Bonjour,
De quoi parles-tu ?? Des noms des balises, des noms des attributs, ou
des valeurs des attributs ?
Je ne vois aucun tag ni attribut dont le nom ne commence pas par une
lettre ; à moins que tu ne parles des attrributs "id", et là c'est
carrément grossier. Etant bien entendu que la première "balise" est
tout à fait valide et sert à fdéfinir tout fichier XML qui se
respecte... Et, là, ce sont bien tes souvenirs (?) qui flanchent,
malheureusement.
Ecoute, j'apprécie tes efforts, mais tes interventions sur ce thread
ne me semblent pas pertinentes ; je pense qu'XML et Xpath en Java ne
sont pas tes points forts, si ? Avant de dire n'importe quoi, pour
meubler "ton" forum, il vaudrait mieux réfléchir deux minutes ou
vérifier tes affirmations. Je ne voulais pas en arriver là, mais il
me semble que cette critique peut améliorer la qualité des
discussions qui s'y trouvent (sur le forum). Tu seras sans doute
d'accord qu'en matière d'information la qualité prime sur la
quantité.
Constructivement (j'espère), Thomas.
Pour ce qui est du reste, une fois un document SVG propre obtenus (les
ID, la version et un DTD en sus 'pour-faire-beau') j'ai pu sans problème
passer sur ta carto :
NodeList departements = (NodeList)
xpath.evaluate("id(""+zone+"")//path/title",document,XPathConstants.NOD ESET);
Pour ce qui est du reste, une fois un document SVG propre obtenus (les
ID, la version et un DTD en sus 'pour-faire-beau') j'ai pu sans problème
passer sur ta carto :
NodeList departements = (NodeList)
xpath.evaluate("id(""+zone+"")//path/title",document,XPathConstants.NOD ESET);
Pour ce qui est du reste, une fois un document SVG propre obtenus (les
ID, la version et un DTD en sus 'pour-faire-beau') j'ai pu sans problème
passer sur ta carto :
NodeList departements = (NodeList)
xpath.evaluate("id(""+zone+"")//path/title",document,XPathConstants.NOD ESET);