๐Ÿš€ go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.text.xml
Article #9614

sax2 et java

#9614
From: remy
Date: Tue, 13 Mar 2001 08:11
124 lines
3895 bytes
bonjour

pour eviter a d'autres quelque pb
voici une petit doc faite maison


ce document a pour objectif

l'installation et l'utilisation de sax avec un exemple joint
je ne pretends pas que cela soit LA solution
mais simplement de faire fct le tout



quelques elements d'information

XML
 xml est un meta format
 un langage de balises simples
 qui decrit un autre format rtf word excell ...

SAX
 sax est une norme qui va permettre d'utiliser
 un parser par l'intermediaire d'interfaces normalisees

PARSER
 programme qui se propose d'extraire
 des informations d'un fichier par exemple

avantage de ce type d'organisation

 possibilite de changer le parser sans
 avoir a reecrire le programme
 qui utilise le parser


donc maintenant il nous faut sax

 http://www.megginson.com/SAX/Java/index.html

puis un parser par exemple

 http://xml.apache.org

desarchiver les deux fichiers puis mettre les jar dans le classpath

prendre l'exemple ci dessous
javac MySAXApp.java

java MySAXApp monFichier.xml
et maintenant cela doit fct
bonne chance remy

remerciements

fr.comp.lang.java
fr.comp.text.xml


import java.io.FileReader;
import org.xml.sax.XMLReader;
import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.helpers.XMLReaderFactory;
import org.xml.sax.helpers.DefaultHandler;


     public class MySAXApp extends DefaultHandler
     {

         public static void main (String args[])
             throws Exception
         {

          XMLReader xr
=XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");

           MySAXApp handler = new MySAXApp();
           xr.setContentHandler(handler);
           xr.setErrorHandler(handler);
           for (int i = 0; i < args.length; i++) {
                 FileReader r = new FileReader(args[i]);
                 xr.parse(new InputSource(r));
             }
         }


         public MySAXApp ()
         {
             super();
         }

          public void startDocument (){
          System.out.println("[debut du document XML]");
          }

          public void endDocument (){
          System.out.println("[fin du document XML]");
          }
          public void startElement (String uri, String name,String
qName,Attributes atts){
  System.out.println("debut de balise "+name);
          }

          public void endElement (String uri, String name, String
qName){
        System.out.println("fin de balise "+qName);
          }

          public void characters (char ch[], int start, int length){
          System.out.println("contenu :"+new String(ch,start,length));
          }

          public InputSource resolveEntity (String publicId, String
systemId){
          try{ return new InputSource(new
java.io.FileReader(systemId));}
          catch(Exception e){e.printStackTrace();return null;}
          }

          /*autres m๏ฟฝthodes*/


     }
Technical Details
Message-ID: <3AADD629.AB2B16AD@libertysurf.fr>
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!195.25.12.36!oleane.net!oleane!freenix!isdnet!isdnethub!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII
X-Google-Thread: 114f60,ffba6a525b2583d7,start
X-Google-Attributes: gid114f60,public
X-Google-ArrivalTime: 2001-03-13 00:16:26 PST
Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!195.25.12.36!oleane.net!oleane!freenix!isdnet!isdnethub!not-for-mail
From: remy <remy.aumeunier@libertysurf.fr>
Newsgroups: fr.comp.text.xml
Subject: sax2 et java
Date: Tue, 13 Mar 2001 09:11:21 +0100
Lines: 129
Message-ID: <3AADD629.AB2B16AD@libertysurf.fr>
NNTP-Posting-Host: dyn-213-36-89-47.ppp.libertysurf.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: news4.isdnet.net 984471161 10506 213.36.89.47 (13 Mar 2001 08:12:41 GMT)
X-Complaints-To: abuse@isdnet.net
NNTP-Posting-Date: 13 Mar 2001 08:12:41 GMT
X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.2.14-15mdk i686)
X-Accept-Language: en