Article View: fr.comp.text.xml
Article #9614sax2 et java
From: remy
Date: Tue, 13 Mar 2001 08:11
Date: Tue, 13 Mar 2001 08:11
124 lines
3895 bytes
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-mailShow 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