Java-XML

assmam Messages postés 5 Date d'inscription lundi 1 juin 2009 Statut Membre Dernière intervention 1 septembre 2009 - 7 juin 2009 à 00:12
eyakat Messages postés 8 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 30 juin 2009 - 22 juin 2009 à 16:14
Je sais pas comment entrer un fichier xml en java pour l'utiliser comme donnée à un prgram en java. Le programme doit extraire des informations du fichier xml.
J'aime bien que vous m'aidez.
Merci d'avance

5 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
7 juin 2009 à 06:36
Salut,

Il te suffit d'utiliser une bibliothèque spécialiser dans le parsing d'un fichier xm: JDom par exemple qui est extrêmement simple à utiliser.

TU peux aller voir ma source de word art par exemple, elle utilise un fichier xml pour stocker les informations sur le wordart.
0
eyakat Messages postés 8 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 30 juin 2009
22 juin 2009 à 11:57
Bonjour tout le monde,

J'arrive pas à lire un fichier xml avec java, j'ai utilisé plusieurs code et toujours il y a des erreurs.

Quelqu'un peut m'aider.

Merci.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
22 juin 2009 à 12:08
Salut,

C'est sûr qu'avec autant de détails, on risque pas faire grand chose pour toi !

Quelles erreurs par exemple... quelle bibliothèque tu as essayé ? etc.
0
eyakat Messages postés 8 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 30 juin 2009
22 juin 2009 à 14:59
Voici par exemple mon code : 

package com.developpez.smeric.xml.sax;




import java.io.InputStream;
import java.lang.String;


import javax.xml.parsers.SAXParserFactory;


import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;


import com.sun.org.apache.xalan.internal.xsltc.runtime.Attributes;




public class ParcoursArbreSax extends DefaultHandler {


 public ParcoursArbreSax(InputStream isXml) {
 super();
 // création d'une instance d'API SAX
 SAXParserFactory factory = SAXParserFactory.newInstance();
 factory.setValidating(true);


 }
 public void startElement(String namespaceURI, String sName,
     String qName, Attributes attrs) throws SAXException {


   String eName = sName;
   if ("".equals(eName)) eName = qName;
   System.out.print("balise de début: ");
   System.out.print(eName);
   if (attrs != null) {
    for (int i = 0; i < attrs.getLength(); i++) {
     String aName = attrs.getLocalName(i);
     if ("".equals(aName)) aName = attrs.getQName(i);
    // nom
     System.out.print(" " + aName + "="");
    // valeur
     System.out.print(attrs.getValue(i)+""");  
    }
   }
   System.out.println("");
   }
 public void endElement(String namespaceURI, String sName,
     String qName) throws SAXException {
   String eName = sName;
   if ("".equals(eName)) eName = qName;
   System.out.println("balise de fin: "+eName);
   }


   public void characters(char buf[], int offset, int len)
   throws SAXException
   {
   String s = new String(buf, offset, len);
   String st = s.trim();
   if (st.length() > 0)
    System.out.println(st);
   }


   public void startDocument() throws SAXException{
   System.out.println("début du document:");}
   public void endDocument() throws SAXException{
   System.out.println("fin du document:"); }
 }

il m'affiche une erreur au niveau de attrs.getLocalName() et attrs.getQName() disant que les deux fonctions sont indéfinies pour le attrs (qui est de type attributs) mais si je change par ".getName" il n'affiche pas de résultat, en plus ce meme code a été déjà utilisé et il s'exécute bien.

Merci pour votre aide. 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eyakat Messages postés 8 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 30 juin 2009
22 juin 2009 à 16:14
J'ai pu résoudre le pb de ces erreurs, mais j'ai pas de résultats.
0
Rejoignez-nous