Jean-Pierre Lips (d’après Stéphane Lavirotte) Avril 2005
TP Compilation / XML
Séance 6 : SAX : Simple API for XML
(Miage L3 - Avril 2005)
Ce TD est consacré à l'utilisation de SAX. Nous utiliserons les API SAX pour lire, écrire et
modifier des données XML. Plus particulièrement nous allons utiliser les packages
javax.xml.* et org.xml.sax.* fournis par SUN dans l'API JAXP (Java API for XML
Parsing) :
http://java.sun.com/xml.
Dans la suite du TD nous utiliserons systématiquement les APIs SAX 2.
Récupérez et installez l'archive :
http://deptinfo.unice.fr/~lips/Miage_L3/Compil_XML/TDs/TD6/Fournitures/jaxp-1.1.tgz
Celle-ci contient la javadoc de l'API JAXP donc vous aurez besoin pour les exercices
suivants.
Lecture (Parsing)
Compteur
Écrire une classe compteur qui comptabilise le nombre d'éléments et le nombre de caractères
présents dans le document qui lui est fourni. Écrire une méthode main qui lit un fichier XML
et renvoie les informations précédentes à la fin de la lecture. Pour effectuer celà, votre classe
Counter devra étendre la classe DefaultHandler.
Écriture
L'écriture d'un document XML à partir d'un programme est appelée sérialisation. Les classes
utilisées pour la sérialisation font partie de jaxp sous le package javax.xml.transform.*.
Écriture simple
A l'aide de ces classes, faire un programme qui génère la sortie suivante :
<?xml version="1.0"?>
<test>Hello world !</test>
Encodage, espaces, etc...
En modifiant l'exemple précédent, produire la sortie suivante dans le fichier test.xml :
<?xml version="1.0" encoding="ISO-8859-1"?>
<test>
<!-- coucou -->
Hello world !
<![CDATA[test <binaire> text]]>
</test>