Je dois générer un fichier XML avec SAX
voila j'ai créé un fichier XML ensuite j'ai fait la mise en page avec XSL
mais on me demande de générer la page XML avec sax.
je connai pas grand chose en developpement!!
si quelqu'un pourai m' aider ça serai super sympa !!
merci.
je doit généré un fichier XML avec SAX
salut voila je connai rien en java ni en developpement
J'ai pri tout ceci dans un site si ça marche j'appliquerai la meme démarche pour mes fichiers
j'ai créé un fichier "test_sax.xml" son contenu est :
Code:
1 2 3 4 5 6 7 8 9
| <personne>
<nom>Dupond</nom>
<adresse>
<numero>3</numero>
<rue>rue de la paix</rue>
<ville>Paris</ville>
<codePostal>75001</codePostal>
</adresse>
</personne> |
j'ai testé le fichier test_sax.xml il se lance bien dans Internet Explorer.
j'ai créé un fichier "test_sax.java" son contenu est :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| // Parse un document XML en JAVA avec l'Api SAX
//on importe les API necessaires
//pour l'analyse du XML
import org.xml.sax.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
//pour l'acces aux fichiers
import java.io.*;
Public class AnalyseSAX extends DefaultHandler {
//methode principale
public static void main (String args[]) throws IOException {
//Si l'utilisateur a oublié de passer
//le nom du fichier XML en parametre => erreur
if (args.length != 1) {
System.err.println("Usage: AnalyseSAX fichierSourceXML");
System.exit (1);
}
//on lance l'analyseur avec le fichier XML en parametre
DefaultHandler handler = new AnalyseSAX();
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser saxParser = factory.newSAXParser();
saxParser.parse( new File(args[0]), handler );
} catch (Throwable t) {
//Si on a une erreur pendant l'analyse
t.printStackTrace ();
System.exit (1);
}
System.exit (0);
}//fin du main
//Les methodes qui suivent sont appelées
//automatiquement par l'analyseur
//lorsqu'un événement est détecté
//dans le fichier XML.
public void error(SAXParseException e) throws SAXParseException{
throw e;
}
public void startDocument () throws SAXException {
System.out.println("début du document");
}
public void endDocument () throws SAXException {
System.out.println("fin du document");
}
public void startElement (String namespaceURI,String simpleName,String qualifiedName,Attributes attrs) throws SAXException {
String nomElement = simpleName;
if (nomElement.equals("")) nomElement = qualifiedName;
System.out.println("startElement : "+ nomElement);
}
public void endElement (String namespaceURI,String simpleName,String qualifiedName) throws SAXException {
String nomElement = simpleName;
if (nomElement.equals("")){
nomElement = qualifiedName;
}
System.out.println("endElement : "+ nomElement);
}
public void characters (char buf [], int offset, int len)
throws SAXException {
String s = new String(buf, offset,len);
System.out.println (s);
}
}//fin de la classe |
par contre je ne sais pas ou mettre le nom du fichier XML "test_sax.xml" pour que le fichier "test_sax.java" le prenne en compte. Peut etre a la 18eme ligne:
"System.err.println("Usage: AnalyseSAX fichierSourceXML"); "
là ou il y a marqué "fichierSourceXML"
bref je savai que ça allé pas marcher mais j'ai kan même lancé le programme:
1) je me suis mit dans le répertoire là où sont mes 2 fichiers
2) j'ai compilé test_sax.java avec la commande :
Code:
javac test_sax.java
le message d'erreur est :
'javac' n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes
voila dans ce que j'ai raconté là, j'ai dù me faire passer pour un débile mais c'est vrai je connai rien en developpement
merci!!