|
|
|
|
Salut !
C'est une bonne chose de s'intéresser aux nvelles technos :) Vas à cette adresse : http://www.application-servers.com/ Tu pourras y télécharger le "livre blanc XML" qui répondras à tes questions sur XML (il contient notamment des exemples de code implémentant SAX) J'espère que tu y trouveras ton bonheur ! Jibé |
Voici une classe implémentant SAX :
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import org.xml.sax.*; import org.xml.sax.helpers.*; import javax.xml.parsers.*; public class A2DefaultHandler extends DefaultHandler{ //------------------------------------------------------------------------------------------------------------ public void parse(String fullFileName){ SAXParser parser; SAXParserFactory factory = SAXParserFactory.newInstance(); try { parser = factory.newSAXParser(); parser.parse(new File(fullFileName), this); } catch (SAXException se) { // handle error } catch (IOException ioe) { // handle error } catch (ParserConfigurationException pce) { // handle error } } //------------------------------------------------------------------------------------------------------------ public void setDocumentLocator(Locator locator){} //------------------------------------------------------------------------------------------------------------ public void startDocument() throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void endDocument() throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void processingInstruction(String target, String data){} //------------------------------------------------------------------------------------------------------------ public void startPrefixMapping(String prefix, String uri){} //------------------------------------------------------------------------------------------------------------ public void endPrefixMapping(String prefix){} //------------------------------------------------------------------------------------------------------------ public void startElement(String namespaceURI, String localName, String raxName, Attributes atts) throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void endElement(String namespaceURI, String localName, String rawName) throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void characters(char[] ch, int start, int length) throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException{} //------------------------------------------------------------------------------------------------------------ public void skippedEntity(String name)throws SAXException{} } Cette classe est vide, c'est le strict minimum pour faire du SAX. Sache que toutes les méthodes qui sont présentes sont obligatoires (sauf peut être la première mais c'est la plus importante...) même si tu les laisse vide. A toi maintenant de remplir selon tes besoins !
|
Ben ... Merci !
J'ai rien compris, mais je suis sûr que ça va m'aider. Me reste plus qu'à plancher ... Si t'as d'autres pistes, n'hésite surtout pas. Sorti du cobol, moi, je nage ... Gloubs ! (:•Þ Pitu |
La première méthode sers à lancer le processus. Ensuite, le parser analyse séquentiellement le fichier (c'est à dire que si tu veux revenir en arrière, tu dois recommencer du début - enfin si tu fait du cobol, tu doit le savoir mieux que moi)
Le reste n'est qu'un gestionnaire d'évènement : La méthode startElement est éxécutée à chaque fois que le parser rencontre une balise XML ouvrante. Les attributs des méthodes te donnent des infos sur le document (nom de la balise, texte contenu...Etc...) Si tu a des questions précises, n'hésites pas ! Jibé. |
Ca mérite bien un ...
#   # #######  ###### #####   ###   ## # # ## #    # # #   # #    ## # # # # #    # # #   #    ## # # #   #####   ###### #     #   # #  # #     # #  # # #  # #     #  # # #  #   ## #  # ##### ## #  #  ##### ###   ## (:•Þ Pitu |
Merci également, Peppena.
Mais je pense que mon besoin nécessite plus un parseur comme Sax que Dom : J'ai juste besoin de parcourir séquentiellement mon fichier, et non d'accéder à une feuille directement par son path. Maintenant, je peux me tromper ... Continuez à m'envoyer tout ce qui peut être susceptible de m'aider. Je regarderai ça lundi au boulot. Et encore merci. (:•Þ Pitu |
Bonjour,
c'est un vrai plaisir de vous trouver : moi aussi je commence la programmation JAVA. J'ai aussi la documentation de ce site mais je n'ai pas le temps pour parcourir tous les articles. Si vous pouvez me donner une certaine reference ... je vous ecoute. Ou bien me dire qqch sur ce que vous avez deja fait dans ce domaine. Ces nouvelles technologies sont tres interessantes je trouve. A bientot. Cristi |
Pitu --> oui je pense que SAX est préférable à DOM dans ton cas. De plus, tu évites tout problème de mémoire : DOM étant très couteux en mémoire, il ne faut l'utiliser que lorsque c'est inévitable, c'est à dire lorsque l'on veux modifier le document XML (ajouter des noeuds, modifier la structure XML, sauvegarder le document etc.). Si tu manipule un gros fichier XML (de plusieurs Mos), DOM montant tout le fichier en mémoire, tu peux avoir un 'OutOfMemory' pas très joli sur l'écran.
Dans tous les autres cas, il faut préférer SAX. Enfin c'est mon avis et c'est discutable. Si tu as des questions précises, n'hésites pas. |
Moi je prefere XSLTPROC, c'est mon avis et ceci est indiscutable :-DDD
Mais dis moi Pitu tu cherches a ecrire un parser ou un xslt? . . \_/
|
Teebo --> je n'ai pas dis que je préférais SAX, j'ai dis que c'était préférable de l'utiliser dans ce cas :)
Sinon, je ne connais de XSLT que la transformation d'un document XML en Html (donc pas adapté au pb dont on parle)... je ne sais pas si c'est possible de faire autre chose avec. Je ne connais pas non plus XSLTPROC ni les fonctionnalités qu'il propose... Tu peux nous en parler ? |
Bonjour à toutes et à tous ,
J'ai besion de consulter des exemples de parseurs XML ,si vous connaissez des sites de parseurs XML ,merci de me les fournir et bonne continuation à toutes et à tous . cedric |
bonjour
J’ai exporté un diagramme d’activité en XMI et je veux joindre ce fichier XMI au fichier XMI de diagramme de classe correspondante à l’aide de SAX. E je ne sais pas comment je peu utiliser SAX merci |
| 06/07 05h38 | [Firefox] plugin Java Jre de Sun | Mozilla Firefox |
| 25/08 11h48 | [Javascript] Interdire le clic droit de la souris | Javascript |
| 05/11 11h52 | [Javascript] Effacer un champ de formulaire lors du clic (focus) | Javascript |
| 01/09 09h57 | [Java] Créer une applet qui accède au disque dur | Programmation |
| 26/09 11h31 | Java Runtime Machine | Navigateurs |
| 08/01 17h01 | [java] validation xml, '&' et CDATA | 1 |
| 09/05 23h00 | Java et xml | 1 |
| 18/04 20h34 | Java et xml | 1 |
| 13/04 15h08 | [Java/Jgraph/XML] enregistrer un graphe en XM | 1 |
![]() | Notepad++ - Notepad++ est un editeur de code source qui supporte plusieurs langages. Il s'agit d'un logiciel libre performant et... | Catégorie: Développement Licence: Open Source |
![]() | DriveImage XML - DriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de... | Catégorie: Sauvegarde Licence: Freeware/gratuit |
![]() | FreeMind - FreeMind est un logiciel de Mind mapping entièrement libre, permettant de créer des cartes heuristiques permettant de... | Catégorie: Organisation Licence: Open Source |
![]() | PSPad - PSPad est un excellent éditeur de texte. Il est utile pour travailler sur du simple texte, mais aussi sur du HTML, CSS,... | Catégorie: Développement Licence: Freeware/gratuit |
![]() | Panasonic SAXR30 | Catégorie: Ampli tuner | |
![]() | Panasonic SAXR50 | Catégorie: Ampli tuner | |
![]() | Cabasse JAVA MT4 Cherry | Catégorie: Enceintes | 1,475.00 € PriceMinister |
![]() | Cabasse JAVA MT4 Beige | Catégorie: Enceintes | 1,475.00 € PriceMinister |