Pseudo-Archive Java :
Accueil -|- Visuel -|- Logistique -|- Applications réparties
La pseudo-archive Java est un service proposé par la SARL diaam informatique, et il est hébergé par la Sogid.
diaam informatique
Date sent:      	Thu, 3 May 2001 12:24:22 +0200
From:           	"eddy palisse" <eddy.palisse1@worldonline.fr>
To:             	java@u-strasbg.fr
Copies to:      	Organization: WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
Subject:        	Exemple de fichier XML à parser
Send reply to:  	java@u-strasbg.fr

Dans toutes les API's qui existent pour parser du XML, je suis un peu
perdu.

J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué.

Voici le type de fichier .xml que je voudrais parser :

<TESTXML>
<ABREVIATION>nomAbreviation</ABREVIATION>
<URLACCES>http://www.monSite.com</URLACCES>
<CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.net/modeles
/icWhoIs.thtml</CHEMINFICHIER> <PERSONNE> <NOM>nom 1</NOM> <PRENOM>prenom
1</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 2</NOM> <PRENOM>prenom
2</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 3</NOM> <PRENOM>prenom
3</PRENOM> </PERSONNE> </TESTXML>

Si vous en connaissez un bien, pourriez vous m'en expliquer son
fonctionnement ?

Merci.

Eddy.

____________________________
 http://www.worldonline.fr/

     

From:           	Laurent Forêt <l.foret@korom.net>
To:             	<java@u-strasbg.fr>
Subject:        	RE: Exemple de fichier XML à parser
Date sent:      	Thu, 3 May 2001 15:01:26 +0200
Send reply to:  	java@u-strasbg.fr

si tu utilise XERCES et tu veux récupérer le DOM, le code suivant devrait
marcher il suffit d'avoir xerces.jar dans ton classpath  :

import org.apache.xerces.parsers.DOMParser;
import org.w3c.dom.Document;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;

import java.io.*;

/**
 * Classe permettant le parsing d'une string XML à l'aide du parseur
 XERCES
du groupe Apache.
 * <p>
 * <DT><b>Société</b> :<DD>KoroM
 * @author  Laurent Foret
 * @version  1.0
 */
public class XERCES_Parser {

   /**
    *  méthode qui charge une string dans une structure dom en utilisant
    le
parser XERCES (apache)
    */
   public static org.w3c.dom.Document loadDocument(String xmlString)
   throws
IOException,SAXException
   {
      DOMParser parser = new DOMParser();
      StringReader is = new StringReader(xmlString);
      parser.parse(new InputSource(is));
      return parser.getDocument();
   }

  public static void main(String[] args) {
    try {

      Document doc = loadFile(args[0]);
      System.out.println("document bien formé");
    } catch (Exception e) {
      System.err.println(e);
    }
  }

}


Je n'utilise pas Jaxp, mais je suis en train de regarder le tutorial de
SUN qui est ma foi très bien. Et un code équivalent à Xerces pour parser
et récupérer la structure Dom du document xml serait :

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;

import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

import java.io.File;
import java.io.IOException;

import org.w3c.dom.Document;
import org.w3c.dom.DOMException;

public class DomEcho01{
    // Global value so it can be ref'd by the tree-adapter
    static Document document;

    public static void main(String argv[])
    {
        if (argv.length != 1) {
            System.err.println("Usage: java DomEcho filename");
            System.exit(1);
        }

        DocumentBuilderFactory factory =
            DocumentBuilderFactory.newInstance();
        //factory.setValidating(true);
        //factory.setNamespaceAware(true);
        try {
           DocumentBuilder builder = factory.newDocumentBuilder();
           document = builder.parse( new File(argv[0]) );

        } catch (SAXException sxe) {
           // Error generated during parsing)
           Exception  x = sxe;
           if (sxe.getException() != null)
               x = sxe.getException();
           x.printStackTrace();

        } catch (ParserConfigurationException pce) {
            // Parser with specified options can't be built
            pce.printStackTrace();

        } catch (IOException ioe) {
           // I/O error
           ioe.printStackTrace();
        }
    } // main
}

Si tu ne veux pas récupérer la structure DOM, mais seulement savoir si le
document est bien formé, utilise plutot un parser SAX. Je n'ai pas de code
sous la main. Désolé.

-------------------------------------

Laurent Forêt

Service développement

l.foret@korom.net

www.korom.net




> -----Message d'origine-----
> De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
> Envoyé : jeudi 3 mai 2001 12:24
> À : java@u-strasbg.fr
> Cc : Organization:
> WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
> Objet : Exemple de fichier XML à parser
>
>
> Dans toutes les API's qui existent pour parser du XML, je suis un
> peu perdu.
>
> J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué.
>
> Voici le type de fichier .xml que je voudrais parser :
>
> <TESTXML>
> <ABREVIATION>nomAbreviation</ABREVIATION>
> <URLACCES>http://www.monSite.com</URLACCES>
> <CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.net
> /modeles/icWhoIs.thtml</CHEMINFICHIER>
> <PERSONNE>
> <NOM>nom 1</NOM>
> <PRENOM>prenom 1</PRENOM>
> </PERSONNE>
> <PERSONNE>
> <NOM>nom 2</NOM>
> <PRENOM>prenom 2</PRENOM>
> </PERSONNE>
> <PERSONNE>
> <NOM>nom 3</NOM>
> <PRENOM>prenom 3</PRENOM>
> </PERSONNE>
> </TESTXML>
>
> Si vous en connaissez un bien, pourriez vous m'en expliquer son
> fonctionnement ?
>
> Merci.
>
> Eddy.
>
> ____________________________
>  http://www.worldonline.fr/
>
>
>
>

     

Date sent:      	Thu, 3 May 2001 15:26:10 +0200
From:           	"eddy palisse" <eddy.palisse1@worldonline.fr>
To:             	java@u-strasbg.fr
Copies to:      	Organization: WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
Subject:        	RE: Exemple de fichier XML à parser
Send reply to:  	java@u-strasbg.fr

 En fait, je veux récupérer le contenu texte situé entre chaque balise.

Eddy.

>si tu utilise XERCES et tu veux récupérer le DOM, le code suivant devrait
>marcher il suffit d'avoir xerces.jar dans ton classpath  :
>
>import org.apache.xerces.parsers.DOMParser;
>import org.w3c.dom.Document;
>import org.xml.sax.InputSource;
>import org.xml.sax.SAXException;
>
>import java.io.*;
>
>/**
> * Classe permettant le parsing d'une string XML à l'aide du parseur
> XERCES
>du groupe Apache.
> * <p>
> * <DT><b>Société</b> :<DD>KoroM
> * @author  Laurent Foret
> * @version  1.0
> */
>public class XERCES_Parser {
>
>   /**
>    *  méthode qui charge une string dans une structure dom en utilisant
>    le
>parser XERCES (apache)
>    */
>   public static org.w3c.dom.Document loadDocument(String xmlString)
>   throws
>IOException,SAXException
>   {
>      DOMParser parser = new DOMParser();
>      StringReader is = new StringReader(xmlString);
>      parser.parse(new InputSource(is));
>      return parser.getDocument();
>   }
>
>  public static void main(String[] args) {
>    try {
>
>      Document doc = loadFile(args[0]);
>      System.out.println("document bien formé");
>    } catch (Exception e) {
>      System.err.println(e);
>    }
>  }
>
>}
>
>
>Je n'utilise pas Jaxp, mais je suis en train de regarder le tutorial de
>SUN qui est ma foi très bien. Et un code équivalent à Xerces pour parser
>et récupérer la structure Dom du document xml serait :
>
>import javax.xml.parsers.DocumentBuilder;
>import javax.xml.parsers.DocumentBuilderFactory;
>import javax.xml.parsers.FactoryConfigurationError;
>import javax.xml.parsers.ParserConfigurationException;
>
>import org.xml.sax.SAXException;
>import org.xml.sax.SAXParseException;
>
>import java.io.File;
>import java.io.IOException;
>
>import org.w3c.dom.Document;
>import org.w3c.dom.DOMException;
>
>public class DomEcho01{
>    // Global value so it can be ref'd by the tree-adapter
>    static Document document;
>
>    public static void main(String argv[])
>    {
>        if (argv.length != 1) {
>            System.err.println("Usage: java DomEcho filename");
>            System.exit(1);
>        }
>
>        DocumentBuilderFactory factory =
>            DocumentBuilderFactory.newInstance();
>        //factory.setValidating(true);
>        //factory.setNamespaceAware(true);
>        try {
>           DocumentBuilder builder = factory.newDocumentBuilder();
>           document = builder.parse( new File(argv[0]) );
>
>        } catch (SAXException sxe) {
>           // Error generated during parsing)
>           Exception  x = sxe;
>           if (sxe.getException() != null)
>               x = sxe.getException();
>           x.printStackTrace();
>
>        } catch (ParserConfigurationException pce) {
>            // Parser with specified options can't be built
>            pce.printStackTrace();
>
>        } catch (IOException ioe) {
>           // I/O error
>           ioe.printStackTrace();
>        }
>    } // main
>}
>
>Si tu ne veux pas récupérer la structure DOM, mais seulement savoir si le
>document est bien formé, utilise plutot un parser SAX. Je n'ai pas de
>code sous la main. Désolé.
>
>-------------------------------------
>
>Laurent Forêt
>
>Service développement
>
>l.foret@korom.net
>
>www.korom.net
>
>
>
>
>> -----Message d'origine-----
>> De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
>> Envoyé : jeudi 3 mai 2001 12:24
>> À : java@u-strasbg.fr
>> Cc : Organization:
>> WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
>> Objet : Exemple de fichier XML à parser
>>
>>
>> Dans toutes les API's qui existent pour parser du XML, je suis un
>> peu perdu.
>>
>> J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué.
>>
>> Voici le type de fichier .xml que je voudrais parser :
>>
>> <TESTXML>
>> <ABREVIATION>nomAbreviation</ABREVIATION>
>> <URLACCES>http://www.monSite.com</URLACCES>
>> <CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.net
>> /modeles/icWhoIs.thtml</CHEMINFICHIER> <PERSONNE> <NOM>nom 1</NOM>
>> <PRENOM>prenom 1</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 2</NOM>
>> <PRENOM>prenom 2</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 3</NOM>
>> <PRENOM>prenom 3</PRENOM> </PERSONNE> </TESTXML>
>>
>> Si vous en connaissez un bien, pourriez vous m'en expliquer son
>> fonctionnement ?
>>
>> Merci.
>>
>> Eddy.
>>
>> ____________________________
>>  http://www.worldonline.fr/
>>
>>
>>
>>
>
>
>


____________________________
 http://www.worldonline.fr/



     

Date sent:      	Thu, 03 May 2001 15:54:58 +0200
From:           	Philippe Delrieu <pdelrieu@cybernomade.com>
Organization:   	Cybernomade.com
To:             	java@u-strasbg.fr
Subject:        	Re: Exemple de fichier XML à parser
Send reply to:  	java@u-strasbg.fr

Personnellement dans le cas d'une utilisation DOM (chargement du fichier
en mémoire avant traitement) j'ai utilisé DOM et JDOM et je pense que pour
99% des besoins JDOM est 100 fois plus simple et aussi performant.

Je conseillerai, vu la taille du fichier d'utiliser JDOM (www.jdom.org).

A+

Philippe Delrieu
Cybernomade

eddy palisse wrote:

>  En fait, je veux récupérer le contenu texte situé entre chaque balise.
> 
> Eddy.
> 
>> si tu utilise XERCES et tu veux récupérer le DOM, le code suivant
>> devrait marcher il suffit d'avoir xerces.jar dans ton classpath  :
>> 
>> import org.apache.xerces.parsers.DOMParser;
>> import org.w3c.dom.Document;
>> import org.xml.sax.InputSource;
>> import org.xml.sax.SAXException;
>> 
>> import java.io.*;
>> 
>> /**
>> * Classe permettant le parsing d'une string XML à l'aide du parseur
>> XERCES du groupe Apache. * <p> * <DT><b>Société</b> :<DD>KoroM *
>> @author  Laurent Foret * @version  1.0 */ public class XERCES_Parser {
>> 
>>   /**
>>    *  méthode qui charge une string dans une structure dom en utilisant
>>    le
>> parser XERCES (apache)
>>    */
>>   public static org.w3c.dom.Document loadDocument(String xmlString)
>>   throws
>> IOException,SAXException
>>   {
>>      DOMParser parser = new DOMParser();
>>      StringReader is = new StringReader(xmlString);
>>      parser.parse(new InputSource(is));
>>      return parser.getDocument();
>>   }
>> 
>>  public static void main(String[] args) {
>>    try {
>> 
>>      Document doc = loadFile(args[0]);
>>      System.out.println("document bien formé");
>>    } catch (Exception e) {
>>      System.err.println(e);
>>    }
>>  }
>> 
>> }
>> 
>> 
>> Je n'utilise pas Jaxp, mais je suis en train de regarder le tutorial de
>> SUN qui est ma foi très bien. Et un code équivalent à Xerces pour
>> parser et récupérer la structure Dom du document xml serait :
>> 
>> import javax.xml.parsers.DocumentBuilder;
>> import javax.xml.parsers.DocumentBuilderFactory;
>> import javax.xml.parsers.FactoryConfigurationError;
>> import javax.xml.parsers.ParserConfigurationException;
>> 
>> import org.xml.sax.SAXException;
>> import org.xml.sax.SAXParseException;
>> 
>> import java.io.File;
>> import java.io.IOException;
>> 
>> import org.w3c.dom.Document;
>> import org.w3c.dom.DOMException;
>> 
>> public class DomEcho01{
>>    // Global value so it can be ref'd by the tree-adapter
>>    static Document document;
>> 
>>    public static void main(String argv[])
>>    {
>>        if (argv.length != 1) {
>>            System.err.println("Usage: java DomEcho filename");
>>            System.exit(1);
>>        }
>> 
>>        DocumentBuilderFactory factory =
>>            DocumentBuilderFactory.newInstance();
>>        //factory.setValidating(true);
>>        //factory.setNamespaceAware(true);
>>        try {
>>           DocumentBuilder builder = factory.newDocumentBuilder();
>>           document = builder.parse( new File(argv[0]) );
>> 
>>        } catch (SAXException sxe) {
>>           // Error generated during parsing)
>>           Exception  x = sxe;
>>           if (sxe.getException() != null)
>>               x = sxe.getException();
>>           x.printStackTrace();
>> 
>>        } catch (ParserConfigurationException pce) {
>>            // Parser with specified options can't be built
>>            pce.printStackTrace();
>> 
>>        } catch (IOException ioe) {
>>           // I/O error
>>           ioe.printStackTrace();
>>        }
>>    } // main
>> }
>> 
>> Si tu ne veux pas récupérer la structure DOM, mais seulement savoir si
>> le document est bien formé, utilise plutot un parser SAX. Je n'ai pas
>> de code sous la main. Désolé.
>> 
>> -------------------------------------
>> 
>> Laurent Forêt
>> 
>> Service développement
>> 
>> l.foret@korom.net
>> 
>> www.korom.net
>> 
>> 
>> 
>> 
>>> -----Message d'origine-----
>>> De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
>>> Envoyé : jeudi 3 mai 2001 12:24
>>> À : java@u-strasbg.fr
>>> Cc : Organization:
>>> WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
>>> Objet : Exemple de fichier XML à parser
>>> 
>>> 
>>> Dans toutes les API's qui existent pour parser du XML, je suis un peu
>>> perdu.
>>> 
>>> J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué.
>>> 
>>> Voici le type de fichier .xml que je voudrais parser :
>>> 
>>> <TESTXML>
>>> <ABREVIATION>nomAbreviation</ABREVIATION>
>>> <URLACCES>http://www.monSite.com</URLACCES>
>>> <CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.net
>>> /modeles/icWhoIs.thtml</CHEMINFICHIER> <PERSONNE> <NOM>nom 1</NOM>
>>> <PRENOM>prenom 1</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 2</NOM>
>>> <PRENOM>prenom 2</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 3</NOM>
>>> <PRENOM>prenom 3</PRENOM> </PERSONNE> </TESTXML>
>>> 
>>> Si vous en connaissez un bien, pourriez vous m'en expliquer son
>>> fonctionnement ?
>>> 
>>> Merci.
>>> 
>>> Eddy.
>>> 
>>> ____________________________
>>>  http://www.worldonline.fr/
>>> 
>>> 
>>> 
>>> 
> 
> 
> ____________________________
>  http://www.worldonline.fr/
> 
> 
> 
> 
> 


     

From:           	Laurent Forêt <l.foret@korom.net>
To:             	<java@u-strasbg.fr>
Subject:        	RE: Exemple de fichier XML à parser
Date sent:      	Thu, 3 May 2001 16:20:26 +0200
Send reply to:  	java@u-strasbg.fr

Une fois ton document parser et charger dans un document DOM,iI te faut
parcourir la structure DOM en accédant noeud par Noeud, voir la doc api
fourni avec XERCES par exemple (org.w3c.dom.*)

Avec Xerces la fonction Main pourrait devenir (non compile et fait de
mémoire) :

import org.w3c.dom.Node;
import java.util.ArrayList;

 public static void main(String[] args) {
   try {

       Document doc = loadFile(args[0]);
       System.out.println("document bien formé");

       Node rootNode = doc.getDocumentElement();
 // traitement de la racine :
 // 2 méthodes pour récupérer les infos dans un noeud :
rootNode.getNodeName() et rootNode.getNodeValue()
 // System.out.println(rootNode.getNodeName()+" :
 "+rootNode.getNodeValue())
       NamedNodeMap attributes =rootNode.getAttributes();
       if (attributes !=null) {
           // traitement  des attributs (les attributs sont des noeuds qui
n'ont pas d'enfants)
       }

      NodeList Children = docRoot.getChildNodes();
      if (Children != null) {
         treatChildren(Children);
     }

    } catch (Exception e) {
      System.err.println(e);
  }

  public static void treatChildren(NodeList children) {
 for (int  = 0; i<children.getLength(); j++) {
  Node currentNode =children.item(i);
  // traitement du noeud courant , deux méthodes essentielles
  ;getNodeName()
et getNodeValue()
  // System.out.println(currentNode.getNodeName()+" :
"+currentNode.getNodeValue())
  NamedNodeMap attributes = currentNode.getAttributes();
        if (attributes !=null) {
            // traitement  des attributs
  }
        // appel récursif , car le noeud courant peut avoir des enfants
  NodeList Children = currentNode.getChildNodes();
       if (Children != null) {
          treatChildren(Children);
  }
     }

  }

> -----Message d'origine-----
> De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
> Envoyé : jeudi 3 mai 2001 15:26
> À : java@u-strasbg.fr
> Cc : Organization:
> WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
> Objet : RE: Exemple de fichier XML à parser
>
>
>  En fait, je veux récupérer le contenu texte situé entre chaque balise.
>
> Eddy.
>
> >si tu utilise XERCES et tu veux récupérer le DOM, le code suivant
> >devrait marcher il suffit d'avoir xerces.jar dans ton classpath  :
> >
> >import org.apache.xerces.parsers.DOMParser;
> >import org.w3c.dom.Document;
> >import org.xml.sax.InputSource;
> >import org.xml.sax.SAXException;
> >
> >import java.io.*;
> >
> >/**
> > * Classe permettant le parsing d'une string XML à l'aide du
> parseur XERCES
> >du groupe Apache.
> > * <p>
> > * <DT><b>Société</b> :<DD>KoroM
> > * @author  Laurent Foret
> > * @version  1.0
> > */
> >public class XERCES_Parser {
> >
> >   /**
> >    *  méthode qui charge une string dans une structure dom en
> utilisant le
> >parser XERCES (apache)
> >    */
> >   public static org.w3c.dom.Document loadDocument(String
> xmlString) throws
> >IOException,SAXException
> >   {
> >      DOMParser parser = new DOMParser();
> >      StringReader is = new StringReader(xmlString);
> >      parser.parse(new InputSource(is));
> >      return parser.getDocument();
> >   }
> >
> >  public static void main(String[] args) {
> >    try {
> >
> >      Document doc = loadFile(args[0]);
> >      System.out.println("document bien formé");
> >    } catch (Exception e) {
> >      System.err.println(e);
> >    }
> >  }
> >
> >}
> >
> >
> >Je n'utilise pas Jaxp, mais je suis en train de regarder le
> tutorial de SUN
> >qui est ma foi très bien. Et un code équivalent à Xerces pour parser et
> >récupérer la structure Dom du document xml serait :
> >
> >import javax.xml.parsers.DocumentBuilder;
> >import javax.xml.parsers.DocumentBuilderFactory;
> >import javax.xml.parsers.FactoryConfigurationError;
> >import javax.xml.parsers.ParserConfigurationException;
> >
> >import org.xml.sax.SAXException;
> >import org.xml.sax.SAXParseException;
> >
> >import java.io.File;
> >import java.io.IOException;
> >
> >import org.w3c.dom.Document;
> >import org.w3c.dom.DOMException;
> >
> >public class DomEcho01{
> >    // Global value so it can be ref'd by the tree-adapter
> >    static Document document;
> >
> >    public static void main(String argv[])
> >    {
> >        if (argv.length != 1) {
> >            System.err.println("Usage: java DomEcho filename");
> >            System.exit(1);
> >        }
> >
> >        DocumentBuilderFactory factory =
> >            DocumentBuilderFactory.newInstance();
> >        //factory.setValidating(true);
> >        //factory.setNamespaceAware(true);
> >        try {
> >           DocumentBuilder builder = factory.newDocumentBuilder();
> >           document = builder.parse( new File(argv[0]) );
> >
> >        } catch (SAXException sxe) {
> >           // Error generated during parsing)
> >           Exception  x = sxe;
> >           if (sxe.getException() != null)
> >               x = sxe.getException();
> >           x.printStackTrace();
> >
> >        } catch (ParserConfigurationException pce) {
> >            // Parser with specified options can't be built
> >            pce.printStackTrace();
> >
> >        } catch (IOException ioe) {
> >           // I/O error
> >           ioe.printStackTrace();
> >        }
> >    } // main
> >}
> >
> >Si tu ne veux pas récupérer la structure DOM, mais seulement savoir si
> >le document est bien formé, utilise plutot un parser SAX. Je n'ai
> pas de code
> >sous la main. Désolé.
> >
> >-------------------------------------
> >
> >Laurent Forêt
> >
> >Service développement
> >
> >l.foret@korom.net
> >
> >www.korom.net
> >
> >
> >
> >
> >> -----Message d'origine-----
> >> De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
> >> Envoyé : jeudi 3 mai 2001 12:24
> >> À : java@u-strasbg.fr
> >> Cc : Organization:
> >> WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr
> >> Objet : Exemple de fichier XML à parser
> >>
> >>
> >> Dans toutes les API's qui existent pour parser du XML, je suis un peu
> >> perdu.
> >>
> >> J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué.
> >>
> >> Voici le type de fichier .xml que je voudrais parser :
> >>
> >> <TESTXML>
> >> <ABREVIATION>nomAbreviation</ABREVIATION>
> >> <URLACCES>http://www.monSite.com</URLACCES>
> >> <CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.net
> >> /modeles/icWhoIs.thtml</CHEMINFICHIER> <PERSONNE> <NOM>nom 1</NOM>
> >> <PRENOM>prenom 1</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 2</NOM>
> >> <PRENOM>prenom 2</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom 3</NOM>
> >> <PRENOM>prenom 3</PRENOM> </PERSONNE> </TESTXML>
> >>
> >> Si vous en connaissez un bien, pourriez vous m'en expliquer son
> >> fonctionnement ?
> >>
> >> Merci.
> >>
> >> Eddy.
> >>
> >> ____________________________
> >>  http://www.worldonline.fr/
> >>
> >>
> >>
> >>
> >
> >
> >
>
>
> ____________________________
>  http://www.worldonline.fr/
>
>
>
>

     

From:           	Laurent Forêt <l.foret@korom.net>
To:             	<java@u-strasbg.fr>
Subject:        	RE: Exemple de fichier XML à parser
Date sent:      	Thu, 3 May 2001 16:41:47 +0200
Send reply to:  	java@u-strasbg.fr

Est ce que  j'ai bien compris ?  :

JDom offre une Api qui permet de manipuler l'arbre XML sans avoir
manipuler le DOM définit par le W3C, mais en manipulant une structure plus
imple et intuitive . JDom permet aussi une translation entre un JDom
Document vers un org.w3c.dom.Document.

-------------------------------------

Laurent Forêt

Service développement

l.foret@korom.net

www.korom.net

  -----Message d'origine-----
  De : Philippe Delrieu [mailto:pdelrieu@cybernomade.com]
  Envoyé : jeudi 3 mai 2001 15:55
  À : java@u-strasbg.fr
  Objet : Re: Exemple de fichier XML à parser


  Personnellement dans le cas d'une utilisation DOM (chargement du fichier
en mémoire avant traitement) j'ai utilisé DOM et JDOM et je pense que pour
99% des besoins JDOM est 100 fois plus simple et aussi performant.

  Je conseillerai, vu la taille du fichier d'utiliser JDOM (www.jdom.org).

  A+

  Philippe Delrieu
  Cybernomade

  eddy palisse wrote:

 En fait, je veux récupérer le contenu texte situé entre chaque
 balise.Eddy.
si tu utilise XERCES et tu veux récupérer le DOM, le code suivant
devraitmarcher il suffit d'avoir xerces.jar dans ton classpath  :import
org.apache.xerces.parsers.DOMParser;import org.w3c.dom.Document;import
org.xml.sax.InputSource;import org.xml.sax.SAXException;import
java.io.*;/*** Classe permettant le parsing d'une string XML à l'aide du
parseur XERCESdu groupe Apache.* <p>* <DT><b>Société</b> :<DD>KoroM*
@author Laurent Foret* @version  1.0*/public class XERCES_Parser {  /**  
*  méthode qui charge une string dans une structure dom en utilisant
leparser XERCES (apache)   */  public static org.w3c.dom.Document
loadDocument(String xmlString) throwsIOException,SAXException  {    
DOMParser parser = new DOMParser();     StringReader is = new
StringReader(! xmlString);     parser.parse(new InputSource(is));    
return parser.getDocument();  } public static void main(String[] args) {  
try {     Document doc = loadFile(args[0]);    
System.out.println("document bien formé");   } catch (Exception e) {    
System.err.println(e);   } }}Je n'utilise pas Jaxp, mais je suis en train
de regarder le tutorial de SUNqui est ma foi très bien. Et un code
équivalent à Xerces pour parser etrécupérer la structure Dom du document
xml serait :import javax.xml.parsers.DocumentBuilder;import
javax.xml.parsers.DocumentBuilderFactory;import
javax.xml.parsers.FactoryConfigurationError;import
javax.xml.parsers.ParserConfigurationException;import
org.xml.sax.SAXException;import org.xml.sax.SAXParseException;import
java.io.File;import java.io.IOException;import org.w3c.dom.Document;import
org.w3c.dom.DOMException;public class DomEcho01{   // Global value so it
can be ref'd by the tree-adapter   static Document document;   public
static void main(String argv[])   {       if (argv.length != 1) {
System.err.println("Usage: java DomEcho filename"); System.exit(1);      
}       DocumentBuilderFactory factory =
DocumentBuilderFactory.newInstance();       //factory.setValidating(true);
//factory.setNamespaceAware(true);       try {          DocumentBuilder
builder = factory.newDocumentBuilder();          document = builder.parse(
new File(argv[0]) );       } catch (SAXException sxe) {          // Error
generated during parsing)          Exception  x = sxe;          if
(sxe.getException() != null)              x = sxe.getException();
x.printStackTrace();       } catch (ParserConfigurationException pce) {   
       // Parser with specified options can't be built
pce.printStackTrace();       } catch (IOException ioe) {          // I/O
error          ioe.printStackTrace();       }   } // main}Si tu ne veux
pas récupérer la structure DOM, mais seulement savoir si ledocument est
bien formé, utilise plutot un parser SAX. Je n'ai pas de codesous la main.
Désolé.-------------------------------------Laurent ForêtService
développementl.foret@korom.netwww.korom.net -----Message d'origine-----De
: eddy palisse [mailto:eddy.palisse1@worldonline.fr]Envoy&eacu! te; :
jeudi 3 mai 2001 12:24À : java@u-strasbg.frCc :
Organization:WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.frObj
et : Exemple de fichier XML à parserDans toutes les API's qui existent
pour parser du XML, je suis unpeu perdu.J'ai regardé du côté de chez sun,
et cela m' a l'air assez compliqué.Voici le type de fichier .xml que je
voudrais parser
:<TESTXML><ABREVIATION>nomAbreviation</ABREVIATION><URLACCES>http://www.mo
nS
ite.com</URLACCES><CHEMINFICHIER>/Local/Library/WebServer/Documents/www.in
ge ncys.net/modeles/icWhoIs.thtml</CHEMINFICHIER><PERSONNE>&! lt;NOM>nom
1</NOM><PRENOM>prenom 1</PRENOM></PERSONNE><PERSONNE><NOM>nom
2</NOM><PRENOM>prenom 2</PRENOM></PERSONNE><PERSONNE><NOM>nom
3</NOM><PRENOM>prenom 3</PRENOM></PERSONNE></TESTXML>Si vous en connaissez
un bien, pourriez vous m'en expliquer sonfonctionnement
?Merci.Eddy.____________________________ http://www.worldonline.fr/
____________________________ http://www.worldonline.fr/



     

Date sent:      	Thu, 03 May 2001 18:08:51 +0200
From:           	Philippe Delrieu <pdelrieu@cybernomade.com>
Organization:   	Cybernomade.com
To:             	java@u-strasbg.fr
Subject:        	Re: RE: Exemple de fichier XML à parser
Send reply to:  	java@u-strasbg.fr

C'est tout à fait cela.
Je n'ai pas testé la conversion entre les modèle mais  si tu n'as pas
besoin de t'interfacer avec les produits ou API compatible DOM elle
n'offre que peu d'intérêt vu la compléxité de l'API DOM.

Philippe Delrieu
Cybernomade

Laurent Forêt wrote:

> Est ce que  j'ai bien compris ?  :
> 
>  
> 
> JDom offre une Api qui permet de manipuler l'arbre XML sans avoir 
> manipuler le DOM définit par le W3C, mais en manipulant une structure
> plus imple et intuitive ..
> 
> JDom permet aussi une translation entre un JDom Document vers un 
> org.w3c.dom.Document.
> 
>  
> 
> -------------------------------------
> 
> Laurent Forêt
> 
> Service développement
> 
> l.foret@korom.net
> 
> www.korom.net
> 
>     -----Message d'origine-----
>     De : Philippe Delrieu [mailto:pdelrieu@cybernomade.com]
>     Envoyé : jeudi 3 mai 2001 15:55
>     À : java@u-strasbg.fr
>     Objet : Re: Exemple de fichier XML à parser
>     
>     Personnellement dans le cas d'une utilisation DOM (chargement du
>     fichier en mémoire avant traitement) j'ai utilisé DOM et JDOM et je
>     pense que pour 99% des besoins JDOM est 100 fois plus simple et
>     aussi performant.
>     
>     Je conseillerai, vu la taille du fichier d'utiliser JDOM 
>     (www.jdom.org <http://www.jdom.org>).
>     
>     A+
>     
>     Philippe Delrieu
>     Cybernomade
>     
>     eddy palisse wrote:
>     
>>      En fait, je veux récupérer le contenu texte situé entre chaque
>>      balise.
>>     
>>     Eddy.
>>     
>>>     si tu utilise XERCES et tu veux récupérer le DOM, le code suivant
>>>     devrait marcher il suffit d'avoir xerces.jar dans ton classpath  :
>>>     
>>>     import org.apache.xerces.parsers.DOMParser;
>>>     import org.w3c.dom.Document;
>>>     import org.xml.sax.InputSource;
>>>     import org.xml.sax.SAXException;
>>>     
>>>     import java.io.*;
>>>     
>>>     /**
>>>     * Classe permettant le parsing d'une string XML à l'aide du
>>>     parseur XERCES du groupe Apache. * <p> * <DT><b>Société</b>
>>>     :<DD>KoroM * @author  Laurent Foret * @version  1.0 */ public
>>>     class XERCES_Parser {
>>>     
>>>       /**
>>>        *  méthode qui charge une string dans une structure dom en
>>>        utilisant le
>>>     parser XERCES (apache)
>>>        */
>>>       public static org.w3c.dom.Document loadDocument(String
>>>       xmlString) throws
>>>     IOException,SAXException
>>>       {
>>>          DOMParser parser = new DOMParser();
>>>          StringReader is = new StringReader(!
>>>     xmlString);
>>>          parser.parse(new InputSource(is));
>>>          return parser.getDocument();
>>>       }
>>>     
>>>      public static void main(String[] args) {
>>>        try {
>>>     
>>>          Document doc = loadFile(args[0]);
>>>          System.out.println("document bien formé");
>>>        } catch (Exception e) {
>>>          System.err.println(e);
>>>        }
>>>      }
>>>     
>>>     }
>>>     
>>>     
>>>     Je n'utilise pas Jaxp, mais je suis en train de regarder le
>>>     tutorial de SUN qui est ma foi très bien. Et un code équivalent à
>>>     Xerces pour parser et récupérer la structure Dom du document xml
>>>     serait :
>>>     
>>>     import javax.xml.parsers.DocumentBuilder;
>>>     import javax.xml.parsers.DocumentBuilderFactory;
>>>     import javax.xml.parsers.FactoryConfigurationError;
>>>     import javax.xml.parsers.ParserConfigurationException;
>>>     
>>>     import org.xml.sax.SAXException;
>>>     import org.xml.sax.SAXParseException;
>>>     
>>>     import java.io.File;
>>>     import java.io.IOException;
>>>     
>>>     import org.w3c.dom.Document;import org.w3c.dom.DOMException;
>>>     
>>>     public class DomEcho01{
>>>     // Global value so it can be ref'd by the tree-adapter
>>>     static Document document;
>>>     
>>>     public static void main(String argv[])
>>>     {
>>>     if (argv.length != 1) {
>>>     System.err.println("Usage: java DomEcho filename");
>>>     System.exit(1);
>>>     }
>>>     
>>>     DocumentBuilderFactory factory =
>>>     DocumentBuilderFactory.newInstance();
>>>     //factory.setValidating(true);
>>>     //factory.setNamespaceAware(true);
>>>     try {
>>>     DocumentBuilder builder = factory.newDocumentBuilder();
>>>     document = builder.parse( new File(argv[0]) );
>>>     
>>>     } catch (SAXException sxe) {
>>>     // Error generated during parsing)
>>>     Exception x = sxe;
>>>     if (sxe.getException() != null)
>>>     x = sxe.getException();
>>>     x.printStackTrace();
>>>     
>>>     } catch (ParserConfigurationException pce) { // Parser with 
>>>     specified options can't be built
>>>     pce.printStackTrace();
>>>     
>>>     } catch (IOException ioe) {
>>>     // I/O error
>>>     ioe.printStackTrace();
>>>     }
>>>     } // main
>>>     }
>>>     
>>>     Si tu ne veux pas récupérer la structure DOM, mais seulement
>>>     savoir si le document est bien formé, utilise plutot un parser
>>>     SAX. Je n'ai pas de code sous la main. Désolé.
>>>     
>>>     -------------------------------------
>>>     
>>>     Laurent Forêt
>>>     
>>>     Service développement
>>>     
>>>     l.foret@korom.net <mailto:l.foret@korom.net>
>>>     
>>>     www.korom.net <http://www.korom.net>
>>>     
>>>     
>>>     
>>>     
>>>     
>>>>     -----Message d'origine-----
>>>>     De : eddy palisse [mailto:eddy.palisse1@worldonline.fr]
>>>>     Envoy&eacu!
>>>>     te; : jeudi 3 mai 2001 12:24
>>>>     À : java@u-strasbg.fr <mailto:java@u-strasbg.fr>
>>>>     Cc : Organization:
>>>>     WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr 
>>>>     <mailto:WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.f
>>>>     r> Objet : Exemple de fichier XML à parser
>>>>     
>>>>     
>>>>     Dans toutes les API's qui existent pour parser du XML, je suis un
>>>>     peu perdu.
>>>>     
>>>>     J'ai regardé du côté de chez sun, et cela m' a l'air assez 
>>>>     compliqué.
>>>>     
>>>>     Voici le type de fichier .xml que je voudrais parser :
>>>>     
>>>>     <TESTXML>
>>>>     <ABREVIATION>nomAbreviation</ABREVIATION>
>>>>     <URLACCES>http://www.monSite.com</URLACCES>
>>>>     <CHEMINFICHIER>/Local/Library/WebServer/Documents/www.ingencys.ne
>>>>     t /modeles/icWhoIs.thtml</CHEMINFICHIER> <PERSONNE> &! lt;NOM>nom
>>>>     1</NOM> <PRENOM>prenom 1</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom
>>>>     2</NOM> <PRENOM>prenom 2</PRENOM> </PERSONNE> <PERSONNE> <NOM>nom
>>>>     3</NOM> <PRENOM>prenom 3</PRENOM> </PERSONNE> </TESTXML>
>>>>     
>>>>     Si vous en connaissez un bien, pourriez vous m'en expliquer son
>>>>     fonctionnement ?
>>>>     
>>>>     Merci.
>>>>     
>>>>     Eddy.
>>>>     
>>>>     ____________________________
>>>>     http://www.worldonline.fr/
>>>>     
>>>>     
>>>>     
>>>>     
>>     
>>     
>>     ____________________________
>>     http://www.worldonline.fr/
>>     
>>     
>>     
>>     
>>     
>     


     

From:           	"Cedric Beust" <cedric@beust.com>
To:             	<java@u-strasbg.fr>
Copies to:      	<Organization:WorldOnline.-.http://www.worldonline.fr/@isis.u-strasbg.fr>
Subject:        	RE: Exemple de fichier XML à parser
Date sent:      	Thu, 3 May 2001 10:41:55 -0700
Send reply to:  	java@u-strasbg.fr

> From: eddy palisse [mailto:eddy.palisse1@worldonline.fr]

> Dans toutes les API's qui existent pour parser du XML, je suis un
> peu perdu.
> J'ai regardé du côté de chez sun, et cela m' a l'air assez compliqué. Si
> vous en connaissez un bien, pourriez vous m'en expliquer son
> fonctionnement ?

http://java.sun.com/xml/jaxp-1.0.1/docs/tutorial/index.html

--
Cedric

C'est fini ! Retour à l'accueil de la pseudo-archive