nsouad
Messages postés3Date d'inscriptionsamedi 23 mai 2009StatutMembreDernière intervention25 août 2009
-
31 juil. 2009 à 23:50
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 2011
-
3 août 2009 à 09:38
Bonjour,
j'ai fait un programme qui fait l'extraction d'éléments du fichier Example1.xml et le voici:
import javax.xml.parsers.*;
import org.xml.sax.helpers.DefaultHandler;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;
public class ExtractionSequence extends DefaultHandler{
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DefaultHandler handler = new ExtractionSequence ();
SAXParserFactory factory = SAXParserFactory.newInstance();
try {
SAXParser saxParser = factory.newSAXParser();
saxParser.parse("Example1.xml",handler );
} catch (Throwable t) {
//Si on a une erreur pendant l'analyse
t.printStackTrace ();
System.exit (1);
}
System.exit (0);
}
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");
}
boolean sequence;
boolean receive;
boolean reply;
boolean partenerLink;
boolean operation;
public void startElement(String uri, String localName,
String element_name,Attributes attributes)throws SAXException{
if ( element_name.equals("sequence")|element_name.equals("receive")|element_name.equals("reply"))
{
System.out.println("Ouverture de la balise: " + element_name ) ;}
else
System.out.println(" ");
if (element_name.equals("partenerLink")){
partenerLink= true;
}
if (element_name.equals("operation")){
operation= true;
}
}
public void endElement(String uri, String localName,
String element_name,Attributes attributes)throws SAXException{
if ( element_name.equals("sequence")|element_name.equals("receive")|element_name.equals("reply"))
{
System.out.println("Fermeture de la balise: " + element_name ) ;}
else
System.out.println(" ");}
public void characters(char[] ch, int start, int len) throws SAXException{
String str = new String (ch, start, len);
if (partenerLink){
System.out.println("Attributs de la balise:");
System.out.println("partenerLink " +str);
partenerLink= false;
}
if (operation){
System.out.println("Attributs de la balise:");
System.out.println("operation " +str);
operation= false;
}
}
}
et voici le résultat affiché
Ouverture de la balise: sequence
Ouverture de la balise: receive
Attributs de la balise:
partenerLink call
Attributs de la balise:
operation echo
Ouverture de la balise: reply
Attributs de la balise:
partenerLink caller
Attributs de la balise:
operation echo
fin du document
Mon problème et que le programme ne m'affiche pas dans le résultat la partie qui me fait la fermeture de balises
Sil vous plait aider moi a corriger mon programme le vous remercie d'avance