XML et XSLT en api JAVA - Java - Programmation
Marsh Posté le 16-12-2004 à 17:55:07
Personne n'a jamais fait de query dans un fichier XML via de API Java ?
Marsh Posté le 16-12-2004 à 18:11:25
tu peux passer par un XPATH plutot que par un XSLT ... le XPATH te permettra de récupérer un NodeList contenant les noeud qui correspondent au xpath. je te laisse chercher la syntaxe du xpath pour l'histoire du nom de l'attribut qui est variable.
pour la méthode à utiliser, avec xalan c'est
http://xml.apache.org/xalan-j/apidocs/org/apache/xpath/XPathAPI.html#selectNodeList(org.w3c.dom.Node, java.lang.String) |
edit : bordel joce !!
Marsh Posté le 17-12-2004 à 13:14:37
Merci pour ce début de réponse, j'ai descendu le JAR du site d'apache pour le XALAN (pour info dans: xalan-j_2_6_0-bin.zip) j'ai réussi à mettre en oeuvre l'api mais je me retrouve devant un autre problème je m'explique j'ai la structure suivante :
<?xml version='1.0' encoding='iso-8859-1'?>
<Struct>
<Ligne id='1' transferer='0' timestamp='0'>
<CHAMP1>CHAMP1</CHAMP1>
<CHAMP2>CHAMP2</CHAMP2>
<CHAMP3>CHAMP3</CHAMP3>
<CHAMP4>CHAMP4</CHAMP4>
</Ligne>
<Ligne id='2' transferer='1' timestamp='0'>
<CHAMP2>CHAMP2</CHAMP2>
<CHAMP3>CHAMP3</CHAMP3>
<CHAMP4>CHAMP4</CHAMP4>
</Ligne>
<Ligne id='3' transferer='1' timestamp='0'>
<CHAMP1>CHAMP1</CHAMP1>
<CHAMP3>CHAMP3</CHAMP3>
<CHAMP4>CHAMP4</CHAMP4>
</Ligne>
<Ligne id='4' transferer='1' timestamp='0'>
<CHAMP1>CHAMP1</CHAMP1>
<CHAMP2>CHAMP2</CHAMP2>
<CHAMP4>CHAMP4</CHAMP4>
</Ligne>
<Ligne id='5' transferer='0' timestamp='0'>
<CHAMP1>CHAMP1</CHAMP1>
<CHAMP2>CHAMP2</CHAMP2>
<CHAMP3>CHAMP3</CHAMP3>
</Ligne>
<Ligne id='6' transferer='0' timestamp='0'>
<CHAMP1>CHAMP1</CHAMP1>
<CHAMP2>CHAMP2</CHAMP2>
</Ligne>
<Ligne id='7' transferer='0' timestamp='0'>
<CHAMP3>CHAMP3</CHAMP3>
<CHAMP4>CHAMP4</CHAMP4>
</Ligne>
</Struct>
et en fait j'aimerai n'avoir dans mon nodelist que les elements que les transfere='0', j'ai essayè diffèrentes choses :
- /Struct/Ligne[transferer='0']/* .............
Mais rien n'y fait, si vous avez une idèe ....
Merci pour le début de piste.
Marsh Posté le 18-12-2004 à 14:21:01
Un petit tuto sympa sur XPath pourra peut-être t'aider pour la suite : http://www.w3schools.com/xpath/default.asp
Marsh Posté le 16-12-2004 à 15:49:45
Bonjour,
J'aimerai charger en DOM un fichier XML mais seulement les éléments qui m'interrese donc par exemple comme avec une requete XSLT dans un fichier XSL :
"/Struct/Ligne[id=0]"
qui me remonterai que les noeuds avec id 0 mais le souci c'est que je connais pas au départ la valeur ni le param (ici id).
Donc j'aimerai savoir si en java il existait une façon de faire cette requete en dynamique sans construire un fichier XSLT.
Je cherche depuis ce matin et je n'ai rien trouvè.
Merci.
Message édité par vapo le 16-12-2004 à 16:50:55