IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Creation d'un fichier xml


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut Creation d'un fichier xml
    J'ai voulu reprendre le code d'un tutorial du site concernant la création d'un xml sauf que j'ai voulu séparé le main de la classe et j'obtiens cette erreur
    java.lang.NoSuchMethodError: main
    Exception in thread "main"

    Je comprend pas pourquoi.

    Voici la classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public class CreationDOM{
    	public static void transformerXml(Document document, String fichier) {
     
    		try {
     
     
                // Création de la source DOM
                Source source = new DOMSource(document);
     
                // Création du fichier de sortie
                File file = new File(fichier);
                Result resultat = new StreamResult(fichier);
     
                // Configuration du transformer
                TransformerFactory fabrique = TransformerFactory.newInstance();
                Transformer transformer = fabrique.newTransformer();
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
     
                // Transformation
                transformer.transform(source, resultat);
            }catch(Exception e){
            	e.printStackTrace();	
            }
     
     
    		try{
     
     
    			// Propriétés du DOM
    			document.setXmlVersion("1.0");
    			document.setXmlStandalone(true);
     
    			// Création de l'arborescence du DOM
    			Element racine = document.createElement("annuaire");
    			racine.appendChild(document.createComment("Commentaire sous la racine"));
     
    			Element personne = document.createElement("personne");
    			personne.setAttribute("id","0");
    			racine.appendChild(personne);
     
    			Element nom = document.createElement("nom");
    			nom.setTextContent("un nom");
    			personne.appendChild(nom);
     
    			Element prenom = document.createElement("prenom");
    			prenom.setTextContent("un prénom");
    			personne.appendChild(prenom);
     
    			Element adresse = document.createElement("adresse");
    			adresse.setTextContent("une adresse");
    			personne.appendChild(adresse);
     
    			document.appendChild(racine);
     
    			//Sauvegarde du DOM dans un fichier XML
     
    			transformerXml(document, "./NouveauDocument.xml");
    		}catch(Exception e){
    			e.printStackTrace();
     
    	}	
    	}
    }
    et le main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    public class Lanceur {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		System.out.println("coucou");
    		try{
    		CreationDOM essai = new CreationDOM();
    //		 Création d'un nouveau DOM
    		DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
    		DocumentBuilder constructeur = fabrique.newDocumentBuilder();
    		Document document = constructeur.newDocument();
    		essai.transformerXml(document,"./NouveauDocument.xml");
    		}catch(Exception e){
    			e.printStackTrace();
    		}
     
    }
    }

  2. #2
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    Salut,

    deja une erreur ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    public static void transformerXml
    faut enlever le "static"

    par contre tu le lance comment ton prog ? (et la compilation aussi connent tu fais ?)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    Bin j'essai de le lancer avec le lanceur et il est censé
    me créé un fichier xml qui s'appelle NouveauDocument.xml
    Mais il me met une erreur
    Poutant ca marce bien si on met tout dans la même classe
    (source developpez.com)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    public class CreationDOM{
    	public static void transformerXml(Document document, String fichier) {
            try {
                // Création de la source DOM
                Source source = new DOMSource(document);
     
                // Création du fichier de sortie
                File file = new File(fichier);
                Result resultat = new StreamResult(fichier);
     
                // Configuration du transformer
                TransformerFactory fabrique = TransformerFactory.newInstance();
                Transformer transformer = fabrique.newTransformer();
                transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
     
                // Transformation
                transformer.transform(source, resultat);
            }catch(Exception e){
            	e.printStackTrace();	
            }
        }
    	public static void main(String[] args){
    		try{
    			// Création d'un nouveau DOM
    			DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
    			DocumentBuilder constructeur = fabrique.newDocumentBuilder();
    			Document document = constructeur.newDocument();
     
    			// Propriétés du DOM
    			document.setXmlVersion("1.0");
    			document.setXmlStandalone(true);
     
    			// Création de l'arborescence du DOM
    			Element racine = document.createElement("annuaire");
    			racine.appendChild(document.createComment("Commentaire sous la racine"));
     
    			Element personne = document.createElement("personne");
    			personne.setAttribute("id","0");
    			racine.appendChild(personne);
     
    			Element nom = document.createElement("nom");
    			nom.setTextContent("un nom");
    			personne.appendChild(nom);
     
    			Element prenom = document.createElement("prenom");
    			prenom.setTextContent("un prénom");
    			personne.appendChild(prenom);
     
    			Element adresse = document.createElement("adresse");
    			adresse.setTextContent("une adresse");
    			personne.appendChild(adresse);
     
    			document.appendChild(racine);
     
    			//Sauvegarde du DOM dans un fichier XML
    			transformerXml(document, "./NouveauDocument.xml");
    		}catch(Exception e){
    			e.printStackTrace();
    		}
    	}	
    }
    Je vois pas pourquoi ca marche pas quand on sépare

  4. #4
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    de tout facon soit tu enleve le static a la methode transformeXML soit
    t appele comme ca :

    CreationDOM.transformerXml( ... )
    et du coup tu peux egalement virer l'objet CreationDOM

    mais ce que tu fais pour l instant c'est pas bon

    Il se passe quoi la ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 296
    Par défaut
    Pourquoi c pas bon?
    le code (en une seule classe)je l'ai essayé
    il me créer bien mon fichier xml

  6. #6
    Membre éprouvé Avatar de BainE
    Inscrit en
    Mai 2004
    Messages
    1 327
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 1 327
    Par défaut
    parce que c'est comme ca l'objet.
    une méthode static ne peut pas s'appeler par monObjet.methode().
    Elle appartient a la classe et pas a une instance.

    Dans le tuto, c'est declaré en static pour faire vite, c'est un exemple pas une réelle implémentation que l'on doit mettre en place dans une application.

    C'est sensé etre un concept connu a ce stade, c'est pour ca je pense que le redacteur a fait ca.

    La dessus si t'es pas opé je t invite a regarder un petit tuto qui t'expliquera ca bien mieux que moi

Discussions similaires

  1. [SSIS] [2K5] Creation d'un Fichier XML (export)
    Par sql_bin dans le forum SSIS
    Réponses: 4
    Dernier message: 09/12/2010, 18h09
  2. Creation d'un fichier XML en PL/SQL
    Par bribou dans le forum PL/SQL
    Réponses: 1
    Dernier message: 21/05/2010, 19h08
  3. creation d'un fichier XML en J2ME
    Par Catalpa dans le forum Java ME
    Réponses: 0
    Dernier message: 05/05/2009, 18h11
  4. Creation d'un fichier xml
    Par Ya7yaKech dans le forum Windows Forms
    Réponses: 7
    Dernier message: 14/01/2009, 13h34
  5. Creation d'un fichier XML avec ASP encoder en UTF-8
    Par freeze_land dans le forum ASP
    Réponses: 6
    Dernier message: 14/02/2007, 10h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo