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 :

Boucle dom et xml


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Par défaut Boucle dom et xml
    Bonjour

    Voila je vous présente mon code qui me permet d’extraire, les données d’un fichier txt et de les injecter dans une structure dom.
    Mais voila je pense que la structure est trop figer je n’ai pas pu insérer une boucle pour pouvoir avoir
    Tout les éléments qui ont comme attribut a et extraire les données de chaque ligne
    Et puis j’ai des exceptions avec substring et les chaînes de caractère enlever les commentaires et vous les verraient

    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    import javax.xml.parsers.*; 
    import org.w3c.dom.*; 
    import org.xml.sax.*; 
    import javax.xml.transform.*; 
    import javax.xml.transform.dom.*; 
    import javax.xml.transform.stream.*; 
    import java.io.*;
    import java.util.*;
    import java.text.*; 
     
    public class arbreDOM{
    	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){
     
        String ligne,f,varbl="",test="",test1="";
     
     
    		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("racine");
     
    		//	racine.appendChild(document.createComment("Commentaire sous la racine"));
     
    			Element element1 = document.createElement("element1");
    			racine.appendChild(element1);
     
    			Element element11 = document.createElement("element11");
    		    element1 .appendChild( element11);
     
    			Element element12 = document.createElement("element12");
    			element1.appendChild(element12);
     
     
    			Element element13 = document.createElement("elemnet13");
    			element1.appendChild(element13);
     
     
    			Element element131 = document.createElement("element131");
    			element13.appendChild(element131);
     
     
    			Element element1311 = document.createElement("element1311");
    			element131.appendChild(element1311);
     
    			Element elementa = document.createElement("elementa");
    	        element1311.appendChild(elementa);
     
     
    	        Element elementb = document.createElement("elementb");
    			element1311.appendChild(elementb);			
     
     
    //-----------------insertion des information concernant une escale a-----------------------
     
     
    BufferedReader in = new BufferedReader(new FileReader("data.txt"));
     
     
     while ((ligne = in.readLine()) != null){
     
       		do  {
     
     
       		    varbl=ligne.substring(0,2);
     
     
                Element elementc = document.createElement("elementc");
    			elementc.setAttribute("num",ligne.substring(0,2));
    			element1311.appendChild(elementc);
     
    			test=varbl;
     
     
    			if ( varbl.equals(test))	{
     
     
    		    Element elementc1 = document.createElement("elementc1");
    			elementc1.setAttribute("val1",ligne.substring(2,10));
    		//	elementc.setAttribute("val2",ligne.substring(10,25));
    		    elementc.appendChild(elementc1);
     
     
    			Element  elementc2= document.createElement("elementc2");
    			elementc2.setAttribute("val1",ligne.substring(2,10));
    	//		elementc.setAttribute("val2",ligne.substring(10,25));
    			elementc.appendChild(elementc2);
     
     
    			Element  elementc3= document.createElement("elementc3");
    			elementc3.setAttribute("val1",ligne.substring(2,10));
    	//		elementc.setAttribute("val2",ligne.substring(10,25));
     
    			elementc.appendChild(elementc3);
     
     
     
     
     
                };
     
    			}while ( !varbl.equals(test));
     
     
     
     
     
    			test=varbl;
    	      };
     
    			document.appendChild(racine);
     
    			transformerXml(document, "./forum.xml");
    			in.close();
     
    }		
     
    		catch(Exception e){
    			e.printStackTrace();
    		}
     
    	}	
    }
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé Avatar de femtosa
    Inscrit en
    Juin 2002
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 253
    Par défaut

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Par défaut
    modifier mon message et je vous jure je ne le referai plus.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Par défaut
    Bonjour

    Voila je vous présente mon code qui me permet d’extraire, les données d’un fichier txt et de les injecter dans une structure dom.
    Mais voila je pense que la structure est trop figer je n’ai pas pu insérer une boucle pour pouvoir avoir
    Tout les éléments qui ont comme attribut a et extraire les données de chaque ligne
    Et puis j’ai des exceptions avec substring et les chaînes de caractère enlever les commentaires et vous les verraient


    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    import javax.xml.parsers.*; 
    import org.w3c.dom.*; 
    import org.xml.sax.*; 
    import javax.xml.transform.*; 
    import javax.xml.transform.dom.*; 
    import javax.xml.transform.stream.*; 
    import java.io.*;
    import java.util.*;
    import java.text.*; 
     
    public class arbreDOM{
    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){
     
    String ligne,f,varbl="",test="",test1="";
     
     
    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("racine");
     
    // racine.appendChild(document.createComment("Commentaire sous la racine"));
     
    Element element1 = document.createElement("element1");
    racine.appendChild(element1);
     
    Element element11 = document.createElement("element11");
    element1 .appendChild( element11);
     
    Element element12 = document.createElement("element12");
    element1.appendChild(element12);
     
     
    Element element13 = document.createElement("elemnet13");
    element1.appendChild(element13);
     
     
    Element element131 = document.createElement("element131");
    element13.appendChild(element131);
     
     
    Element element1311 = document.createElement("element1311");
    element131.appendChild(element1311);
     
    Element elementa = document.createElement("elementa");
    element1311.appendChild(elementa);
     
     
    Element elementb = document.createElement("elementb");
    element1311.appendChild(elementb); 
     
     
    //-----------------insertion des information concernant une escale a-----------------------
     
     
    BufferedReader in = new BufferedReader(new FileReader("data.txt"));
     
     
    while ((ligne = in.readLine()) != null){
     
    do {
     
     
    varbl=ligne.substring(0,2);
     
     
    Element elementc = document.createElement("elementc");
    elementc.setAttribute("num",ligne.substring(0,2));
    element1311.appendChild(elementc);
     
    test=varbl;
     
     
    if ( varbl.equals(test)) {
     
     
    Element elementc1 = document.createElement("elementc1");
    elementc1.setAttribute("val1",ligne.substring(2,10));
    // elementc.setAttribute("val2",ligne.substring(10,25));
    elementc.appendChild(elementc1);
     
     
    Element elementc2= document.createElement("elementc2");
    elementc2.setAttribute("val1",ligne.substring(2,10));
    // elementc.setAttribute("val2",ligne.substring(10,25));
    elementc.appendChild(elementc2);
     
     
    Element elementc3= document.createElement("elementc3");
    elementc3.setAttribute("val1",ligne.substring(2,10));
    // elementc.setAttribute("val2",ligne.substring(10,25));
     
    elementc.appendChild(elementc3);
     
     
     
     
     
    };
     
    }while ( !varbl.equals(test));
     
     
     
     
     
    test=varbl;
    };
     
    document.appendChild(racine);
     
    transformerXml(document, "./forum.xml");
    in.close();
     
    } 
     
    catch(Exception e){
    e.printStackTrace();
    }
     
    } 
    }

Discussions similaires

  1. [Ajax] Prob passage de param. dans boucle [DOM]
    Par narnou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/02/2006, 16h54
  2. [DOM] Validation xml avec PHP
    Par thefaycal dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 26/01/2006, 21h15
  3. [DOM] Parsage XML en PHP 4
    Par Huntress dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/12/2005, 22h24
  4. [JAXB/DOM] Parser Xml : possible avec path reel et non uri !
    Par Jaxofun dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 01/08/2005, 10h04

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