[XML] Prog de base mais qui ne marche pas ??? - PB RESOLU -

Prog de base mais qui ne marche pas ??? - PB RESOLU - [XML] - Divers - Programmation

Marsh Posté le 14-01-2003 à 16:13:06    

Bonjour à tous ceux qui veulent bien m'aider...
 
Voilà, je suis depuis pas longtemps dans le xml et impossible de sortir un document parser...  :cry:  
 
utilisation de SAX 2.0
utilisation de jaxp de sun
et nombreuse larme au bout....
 
-> pb à la fin du topic
 
I - utilisation du parseur : (Testparse)
 
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.xml.sax.ext.*;
import org.xml.sax.XMLReader;
import javax.xml.parsers.SAXParserFactory;
import java.util.Properties;
import javax.xml.parsers.SAXParser;
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
 
 
public class Testparse{
 public static void main(String [] args){
   
  SAXParser parser;
   
  DefaultHandler handler = new MyApplicationParseHandler();
   
  SAXParserFactory factory = SAXParserFactory.newInstance();
   
  factory.setNamespaceAware(true);
  factory.setValidating(true);
 
   
 System.out.println("avant try" );
   
    try {
      parser = factory.newSAXParser();
      parser.parse("C:\\MENU.XML", handler);
 
    }
    catch (SAXException se) {
      System.out.println("error SAX" );
    }
    catch (IOException ioe) {
      System.out.println("IO" );
    }
    catch (ParserConfigurationException pce) {
        System.out.println("ParserConfigurationException" );
    }
 
 System.out.println("après catch" );
     
 }
}
 
 
II - Le handler : (MyApplicationParseHandler.java)
 
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import org.xml.sax.ext.*;
import javax.xml.parsers.SAXParserFactory;
import java.util.Properties;
import javax.xml.parsers.SAXParser;
 
public class MyApplicationParseHandler extends DefaultHandler{
 
 public void startElement(String name, Attributes atts){
  System.out.println("Balise ouvrante : " + name);
 }
 public void endElement(String name){
  System.out.println("Balise fermante : " + name);
 }
 
}
 
 
III - Et un document à parser : (menu.xml)
 
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE menu[
<!ELEMENT menu (categorie*)>
<!ATTLIST menu
 mode (abrege | etendu) 'abrege'>
 
<!ELEMENT categorie (categorie* | application*)>
<!ATTLIST categorie
  id ID #REQUIRED
  ouvert (oui | non) 'oui'
  titre CDATA #REQUIRED>
 
<!ELEMENT application (lien, titre, description)>
<!ELEMENT lien (#PCDATA)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT description (#PCDATA)>
]>
 
<menu mode="abrege">
 <categorie id="jaxp" titre="Java API for XML Parsing">
  <application>
   <lien>/menuJSP/menuSAXJaxp.jsp</lien>
   <titre>SAX - Jaxp </titre>
   <description> Menu Java XML avec API DOM - Java API for XML Parsing</description>
  </application>
  <application>
   <lien>/menuJSP/menuDOMJaxp.jsp</lien>
   <titre>DOM - Jaxp </titre>
   <description> Menu Java XML avec API DOM - Java API for XML Parsing</description>
  </application>
</categorie>
<categorie id="xerces" titre="Apache Xerces">
  <application>
   <lien>/menuJSP/menuSAXJXerces.jsp</lien>
   <titre>SAX - Xerces </titre>
   <description> Menu Java XML avec API DOM - Apache Xerces</description>
  </application>
  <application>
   <lien>/menuJSP/menuDOMXerces.jsp</lien>
   <titre>DOM - Xerces </titre>
   <description> Menu Java XML avec API DOM - Apache Xerces</description>
  </application>
</categorie>
<categorie id="oracle" titre="Oracle XML Parser">
  <application>
   <lien>/menuJSP/menuSAXJOracle.jsp</lien>
   <titre>SAX - Oracle's XML Parser </titre>
   <description> Menu Java XML avec API DOM - Oracle's XML Parser for Java v2</description>
  </application>
  <application>
   <lien>/menuJSP/menuDOMOracle.jsp</lien>
   <titre>DOM - Oracle's XML Parser </titre>
   <description> Menu Java XML avec API DOM - Oracle's XML Parser for Java v2</description>
  </application>
</categorie>
</menu>
 
 
 

IV - CONCLUSION

 
A l'excution de testparse, il m'affiche :
 
avant try
après catch
 
et c tout  :cry:  
Logiquement, il devrait me lister toutes les balises ouvrantes et fermantes non ???
pourquoi il le fait pas  [:zoutte]


Message édité par magicien96 le 14-01-2003 à 19:23:17

---------------
Ils ne savaient pas que c'était impossible, alors ils l'ont fait. ©Mark Twain
Reply

Marsh Posté le 14-01-2003 à 16:13:06   

Reply

Marsh Posté le 14-01-2003 à 16:43:53    

[:zoutte]


---------------
Ils ne savaient pas que c'était impossible, alors ils l'ont fait. ©Mark Twain
Reply

Marsh Posté le 14-01-2003 à 17:31:29    

pb  [:necris]


---------------
Ils ne savaient pas que c'était impossible, alors ils l'ont fait. ©Mark Twain
Reply

Marsh Posté le 14-01-2003 à 19:22:27    

Pb règlé :
public void startElement(String name, Attributes atts){
 
fallait redefinir complètement startElement et endElement avec tous les attributs ! Confusion avec Sax 1.0 mais c'est un peu normal vu le peu d'info concrète avec Sax 2.0


---------------
Ils ne savaient pas que c'était impossible, alors ils l'ont fait. ©Mark Twain
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed