Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1365 connectés 

  FORUM HardWare.fr
  Programmation
  Java

   XML et XSLT en api JAVA

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

XML et XSLT en api JAVA

n°925116
vapo
Posté le 16-12-2004 à 15:49:45  profilanswer
 

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
mood
Publicité
Posté le 16-12-2004 à 15:49:45  profilanswer
 

n°925240
vapo
Posté le 16-12-2004 à 17:55:07  profilanswer
 

Personne n'a jamais fait de query dans un fichier XML via de API Java ?

n°925258
benou
Posté le 16-12-2004 à 18:11:25  profilanswer
 

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 !!  :fou:


Message édité par benou le 16-12-2004 à 18:13:00

---------------
ma vie, mon oeuvre - HomePlayer
n°925946
vapo
Posté le 17-12-2004 à 13:14:37  profilanswer
 

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.

n°926115
ftikai
Posté le 17-12-2004 à 15:20:38  profilanswer
 

essaie
/Struct/Ligne[@transferer='0']

n°926900
Sigmund
Posté le 18-12-2004 à 14:21:01  profilanswer
 

Un petit tuto sympa sur XPath pourra peut-être t'aider pour la suite : http://www.w3schools.com/xpath/default.asp


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

   XML et XSLT en api JAVA

 

Sujets relatifs
Java et snmp[java] génération automatique des "import" ?
[bdd/xml/xsl] se connecter à une bdd ac xml/xsl??Votre avis sur java
Java ça pue, vive cobol \o/Plugins Java
Problème avec fichier xmlparamètres son dans Java
SSII: Remise à niveau en Java pour mission??Applet Java : Redimensioner une image + upload vers FTP
Plus de sujets relatifs à : XML et XSLT en api JAVA


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR