begin process at 2010 02 10 07:02:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > TRAITEMENT D'UN FICHIER XML

TRAITEMENT D'UN FICHIER XML


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :xml, fichier Niveau :Débutant Date de création :07/07/2002 Date de mise à jour :07/07/2002 19:59:50 Vu / téléchargé :10 579 / 957

Auteur : sky13

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cette source a pour but de traiter un fichier xml de manière simple.
Pour cela , j'utilise une api qui est telechargeable sur le site http://java.sun.com
Il faut inclure 6 fichiers jar dans le package.

Ce code vise seulement à montrer comment on traite un fichier xml en java.
Pour toute suggestion, sky13@voila.fr

Source

  • import java.io.*;
  • import org.xml.sax.*;
  • import javax.xml.parsers.SAXParserFactory;
  • import javax.xml.parsers.SAXParser;
  • public class Echoing extends HandlerBase {
  • // Pour gérer l'indentation du document final.
  • private String indentString = " ";
  • private int indentLevel = 0;
  • // Démarrage de votre programme
  • public static void main (String argv []) {
  • if (argv.length != 1) {
  • System.err.println ("Usage: cmd filename");
  • System.exit(-1);
  • }
  • SAXParserFactory factory = SAXParserFactory.newInstance();
  • try {
  • SAXParser saxParser = factory.newSAXParser();
  • saxParser.parse( new File(argv [0]), new Echoing() );
  • } catch (Throwable t) {
  • t.printStackTrace ();
  • }
  • System.exit(0);
  • }
  • /////////////////////////////////////////////////////////////
  • // Les gestionnaires d'évènements SAX ///////////////////////
  • /////////////////////////////////////////////////////////////
  • public void startDocument () throws SAXException {
  • System.out.println("START DOCUMENT");
  • System.out.println("<?xml version='1.0' encoding='UTF-8'?>");
  • }
  • public void endDocument () throws SAXException {
  • System.out.println("END DOCUMENT");
  • if (indentLevel > 0) System.out.println("AIEEEE");
  • }
  • public void startElement (String name, AttributeList attrs)
  • throws SAXException {
  • tabs();
  • System.out.print("<"+name);
  • if (attrs != null) {
  • for (int i = 0; i < attrs.getLength (); i++) {
  • System.out.println();
  • tabs();
  • System.out.print(" ");
  • System.out.print(attrs.getName (i));
  • System.out.print(" = \"");
  • System.out.print(attrs.getValue (i));
  • System.out.print("\"");
  • }
  • }
  • if (attrs.getLength() > 0) { System.out.println(""); tabs(); }
  • System.out.println(">");
  • indentLevel++;
  • }
  • public void endElement (String name) throws SAXException {
  • indentLevel--;
  • tabs();
  • System.out.println("</"+name+">");
  • }
  • public void characters (char buf [], int offset, int len)
  • throws SAXException {
  • String s = new String(buf, offset, len);
  • if (!s.trim().equals("")) {
  • tabs();
  • System.out.println(s);
  • }
  • }
  • /////////////////////////////////////////////////////////////
  • // Fonctions utilitaires ////////////////////////////////////
  • /////////////////////////////////////////////////////////////
  • private void tabs() {
  • for(int i=0;i<indentLevel;i++) {
  • System.out.print(indentString);
  • }
  • }
  • }
import java.io.*;

import org.xml.sax.*;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.parsers.SAXParser;  

public class Echoing extends HandlerBase {
    // Pour gérer l'indentation du document final.
    private String indentString = "        ";
    private int indentLevel = 0;

    // Démarrage de votre programme
    public static void main (String argv []) {
        if (argv.length != 1) {
            System.err.println ("Usage: cmd filename");
            System.exit(-1);
        }

        SAXParserFactory factory = SAXParserFactory.newInstance();
        try {
            SAXParser saxParser = factory.newSAXParser();
            saxParser.parse( new File(argv [0]), new Echoing() );
        } catch (Throwable t) {
            t.printStackTrace ();
        }

        System.exit(0);
    }

    /////////////////////////////////////////////////////////////
    // Les gestionnaires d'évènements SAX ///////////////////////
    /////////////////////////////////////////////////////////////

    public void startDocument () throws SAXException {
        System.out.println("START DOCUMENT");
        System.out.println("<?xml version='1.0' encoding='UTF-8'?>");
    }

    public void endDocument () throws SAXException {
        System.out.println("END DOCUMENT");
        if (indentLevel > 0) System.out.println("AIEEEE");
    }

    public void startElement (String name, AttributeList attrs)
                                                    throws SAXException  {
        tabs();
        System.out.print("<"+name);
        if (attrs != null) {
            for (int i = 0; i < attrs.getLength (); i++) {
                        System.out.println();
                        tabs();
                System.out.print("    ");
                System.out.print(attrs.getName (i));
                System.out.print(" = \"");
                System.out.print(attrs.getValue (i));
                System.out.print("\"");
            }
        }

        if (attrs.getLength() > 0) { System.out.println(""); tabs(); }
        System.out.println(">");
        indentLevel++;
    }

    public void endElement (String name) throws SAXException {
        indentLevel--;
        tabs();
        System.out.println("</"+name+">");
    }

    public void characters (char buf [], int offset, int len)
                                                      throws SAXException {
        String s = new String(buf, offset, len);
        if (!s.trim().equals("")) {
            tabs();
            System.out.println(s);
        }
    }

    /////////////////////////////////////////////////////////////
    // Fonctions utilitaires ////////////////////////////////////
    /////////////////////////////////////////////////////////////

    private void tabs() {
        for(int i=0;i<indentLevel;i++) {
            System.out.print(indentString);
        }
    }
}


 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip ACCES À BASE DE DONNÉES MYSQL
Source avec Zip CHAT POUR 2 PERSONNES

 Sources de la même categorie

Source avec Zip ANALYSEUR DE PROXY IRC ET HTTP AVEC UNE INTERFACE GRAPHIQUE par sisisousou
Source avec Zip Source avec une capture "PROGRAMMEUR", EST UN PROGRAMME QUI PERMET DE TAPER QUELQUE ... par edouard333
Source avec Zip Source avec une capture "NARRATEUR", PROGRAMME QUI "LIT" SE QU'ON ÉCRIT... par edouard333
Source avec Zip Source avec une capture RENAME-MOAR par cotepierrot
Source avec Zip Source avec une capture DWIKI (DESKTOPWIKI) par xsimo

 Sources en rapport avec celle ci

Source avec Zip JAVA SERVER PAGE par pasteure
Source avec Zip Source avec une capture IHM CONFIGURABLE POUR FICHIER PROPERTIES par benmor
ENREGISTRER L'ARBORESCENCE D'UN JTREE DANS UN XML AVEC JDOM par coltman
JCONFIGURATIONMANAGER - GESTION DES CONFIGURATIONS par Francks11
CHERCHER UN FICHIER par kryshnar

Commentaires et avis

Commentaire de haineT le 19/12/2002 17:27:23

C'est exactement ce que je cherchais! Le code fonctionne tres bien , mais avec la 1.4, (dont le package XML est fourni par defaut) ce code utilise des methodes depreciée.

Commentaire de laglobule2000 le 23/07/2003 14:41:07

Tu te fous de ma gueule ou koi?
Check ca : http://www.infini-fr.com/Sciences/Informatique/Langages/Imperatifs/Java/jaxp.html

Commentaire de Nicocyno le 16/02/2004 13:29:39

C'est pas grave sans son copy/past j'aurai pas vu cette source ;)
Mais c'est vrai sky13 que tu aurais pu citer l'auteur !

Et pour pouvoir modifier un fichier XML vaut mieu que j'utilise DOM non ?

Commentaire de Nicocyno le 16/02/2004 13:35:26

Je viens de m'apercevoir que la fonction suivante n'est pas utilisé !
Et quand je la commante le programme marche parfaitement.
A quoi peut elle bien servir ??!

public void characters (char buf [], int offset, int len) throws SAXException
{
   String s = new String(buf, offset, len);
   if (!s.trim().equals(""))
   {
      tabs();
      System.out.println(s);
   }
}

Commentaire de ramouch0 le 06/05/2004 16:18:05

la méthode characters est appellée à chaque fois qu'il y a du texte.
par exemple:

&lt;balise&gt;textxxtxt&lt;/balise&gt;

on va avoir
startElement(...)
characters("textxxtxt",positionDuText,longeurduText)
endElement(...)

dans ce code elle ne fait qu'ajouter des tabulation l'orsque les balises sont vide...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

créer un fichier excel à partir d'un fichier xml [ par Tara ] Bonjour à tous !Mon problème se résume dans le sujet à savoir : comment puis-je créer un fichier excel à partir d'un fichier xml ?Faut-il que je passe Créer un fichier xml [ par Tara ] Merci pour les deux réponses que j'ai reçues. Mais j'ai tout de même vu que l'on pouvait écrire directement du xml à l'aide de DOM (et J... je ne sais Imprimer un fichier XML avec Java [ par Arknox ] Bonjour a tousJe cherche a imprimer un fichier (XML ici) avec java. Quelqu'un connais t'il la marche a suivre. Ou bien quelqu'un aurait t'il un exempl recuperer contenu de balise xml avec sax [ par lolofx ] salut, voila, je voudrais recuprer le contenu d'une balise xml choisi voila la sourcepour info nom correspond au nom de la balisefichier au nom du fic creation dynamique de menu avec xml [ par benohite ] bonjour, j aimerais creer un menu a partir d un fichier xml.j ai passé la semaine a me documenter sur le parsage xml et vraiment je galere devant la d tableau XML, removeRow et raffraichissement [ par Salussipher ] Salut,J'ai deux petites questions à propos des JTable.J'ai une application comprenant plusieurs fenêtre dont une permettant d'afficher sous forme de t Parser un fichier XML avec un schéma donné [ par biniouman ] Bonjour,Je cherche à parser avec jaxp et sax un fichier xml en fonction d'un schéma. Mon fichier est tout bete, mais je ne sais pas par où commencer S Mettre certaines balises XML dans un fichier a partir d'un arbre DOM [ par Ekik ] Bonjours,Voila mon problème:J'ai un fichier xml, et je dois prendre toutes les balises &lt;section&gt; pour les mettre dans un autre fichier xml. J'a Lire un fichier xml [ par Isaro ] Je voudrais écrire un code parcourant un fichier xml pour identifier les differents elements du fichier , j'utilise jdom donc les cours sont identifie Envoie de fichiers XML entre 2 clients [ par vinz13 ] Bonjour !Je fais un messenger en java. Je voudrais que le dialogue entre 2 clients, se fasse par l'envoie de fichier XML.Comment puis je faire pour en


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales