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 :

Besoin d'optimiser le parcours d'un fichier XML


Sujet :

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

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut Besoin d'optimiser le parcours d'un fichier XML
    Bonsoir

    J'ai un fichier xml et je cherche à optimiser le parcourt d'un fichier xml. Pour parcourir une donnée je dois appliquer tout ce bout de code.
    Auriez vous une solution pour rendre un peu plus souple ?

    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
    public class DOMXML{
       static Document document;//document
       static Element rootElement;//racine  
     
       public static void main(String[] args)
       { 
          try{
     
                DocumentBuilderFactory fabrique = DocumentBuilderFactory.newInstance();
     
                DocumentBuilder constructeur = fabrique.newDocumentBuilder();
                document = constructeur.parse(new File("dag.xml"));
                rootElement =  document.getDocumentElement() ;
                printDomTree (rootElement,"");   
             }catch (Throwable t)
                    {
                        t.printStackTrace ();
                        System.exit (1);
                    }
     
     
                  NodeList EnfantNode = document.getElementsByTagName("Page");  
                  for(int i=0 ; i<EnfantNode.getLength(); i++)
                  {
                        Element el1 = (Element)EnfantNode.item(i);
                        NodeList GroupNode = el1.getElementsByTagName("Group");   
                        for(int j=0 ; j<GroupNode.getLength();j++)
                        {
                            Element el2 = (Element)GroupNode.item(j);
                            String nameGroup = el2.getFirstChild().getFirstChild().getNodeValue(); 
     
     
                            if(nameGroup.equals("Ordinateur"))
                            {
                                System.out.println("Ordinateur"); 
                                NodeList ItemNode = el2.getElementsByTagName("Item");                        
                                for(int k=0 ; k<ItemNode.getLength();k++)
                                {
                                    Node el3 = (Element)ItemNode.item(k);
                                    System.out.println("-valeur-"+ el3.getFirstChild().getNextSibling().getNextSibling().getFirstChild().getNodeValue());
                                 }
                             } 
                            if(nameGroup.equals("Carte mère"))
                            {
                                System.out.println("Carte mère"); 
                                NodeList ItemNode = el2.getElementsByTagName("Item");                        
                                for(int k=0 ; k<ItemNode.getLength();k++)
                                {
                                    Node el3 = (Element)ItemNode.item(k);
                                    System.out.println("-valeur-"+ el3.getFirstChild().getNextSibling().getNextSibling().getFirstChild().getNodeValue());                                
                                 }
                             } 
            }
    }
    Le fichier XML a une structure de ce type :

    -Report
    -Page .<title>
    . <icon>
    -Item .<title>
    .<icon>
    .<value>
    -Page .
    .
    -Group .<title>
    .<icon>
    - Item .
    .
    .
    -Page .
    .
    -Device .
    .
    -Group .<title>
    .<icon>
    -Item .
    .
    .
    .


    Stardeus

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Voila j'ai procédé a une methode recursive qui me permet d'afficher tous les elements


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
                                if (node.hasChildNodes()) 
                                {
                                    // comme les Tree-s JAVA .....                        
                                    Node nextFils = node.getFirstChild(); 
                                    while (nextFils != null)
                                        {                       
                                            printDomTree (nextFils,indent+" ");                        
                                            nextFils = nextFils.getNextSibling();                 
                                        }
                                 }
    je souhaiterais faire la recuperation de certaines données XML afin de les ajouter dans une base de données.
    Je pensais que je pourrais faire un tableau qui recupere toutes les valeurs et ensuite en faire un découpage.Apparement je n'arrive pas a regrouper toutes les données dans un meme tableau.

    Auriez vous une idée de comment je pourrais faire ?
    merci
    stardeus

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    T'as la possibilité de choisir un outil, t'as essayé d'utiliser un moteur XPath, genre jaxen ou jxpath ? Ca pourrait être plus simple...

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    on m'a parlé de nombreuse api tel XSLT / JAXP /Xpath
    alors je ne sais plus quoi choisir avec tout ça .
    Je me sens un peu perdu.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    J'ai utilisé le Xpath comme vous me l'avez conseillé.
    Mais je trouve qu'il y autant de code que celui du précédent. Il est probable que je m' y suis tres mal pris.
    Pourriez vous me dire s'il existe une possibilite de creer une condition
    tel que si ordinateur alors afficher les valeurs de ses fils en Xpath


    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
     
     
                 XPathExpression expr2 = xpath.compile("//*//Page[2]//Group/Title/text()");           
                 Object result2 = expr2.evaluate(document, XPathConstants.NODESET);
                 NodeList nodes2 = (NodeList) result2;
                 for (int i = 0; i < nodes2.getLength(); i++) 
                 {
                     String ValeurGroup = nodes2.item(i).getNodeValue(); 
                     System.out.println("Title" + ValeurGroup); 
                      if(ValeurGroup.equals("Ordinateur"))
                      {
                         XPathExpression expr3 = xpath.compile("//*//Page[2]//Group//Item//Title/text()");           
                         Object result3 = expr3.evaluate(document, XPathConstants.NODESET);
                         NodeList nodes3 = (NodeList) result3;
                         for (int j = 0; j < nodes3.getLength(); j++) 
                         {
     
                           System.out.println(" Section ordinateur -> " + nodes3.item(j).getNodeValue()); 
     
                strsql = "insert into ordinateur values('"+nodes3.item(j).getNode.Value()+"'
                         } 
     
     
                       }   
                 }

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    je pense qu'il est effectivement possible de réduire considérablement le code en utilisant une seule expression XPath, mais pour cela il faudrait connaître ton schéma XML et la structure que tu as donnée dans ton premier post est totalement illisible...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    bonsoir

    je vous joints la structure de mon fichier xml.

    stardeus
    Fichiers attachés Fichiers attachés

  8. #8
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu devrais pouvoir accéder facilement aux éléments qui t'intéressent avec cette expression XPath :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /Report/Page/Group[Title='Ordinateur']/Item
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Je te remercie cela fonctionne bien.
    J'aurais une question Serait il possible de déterminer le nombre de item qu'on souhaite selectionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
            XPathExpression expr = xpath.compile("/Report/Page[2]/Group[Title='Carte mère']/*[count(Item)= 4]/Value")
    Autrement dit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    -<Report>
        -<Page> 
          -<Group>
                       <title> ordinateur</title>
                -<Item> 
                        <value> </value>
                  </Item>
                il y a nieme ITEM 
         -</Group>
       -</Page>
    </Report>

  10. #10
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu veux dire 4 items en tout, ou 4 items pour chaque occurrence de <Group> sélectionnée ?

    Dans le premier cas, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /descendant::Item[parent::Group[Title='Carte mère']/parent::Page/parent::Report][position() <= 4]
    Dans le second :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /Report/Page/Group[Title='Carte mère']/Item[position() <= 4]
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    En fait ça serait plutot pour un item specifique dans un groupe et non pour la totalité du document XML

    pour le groupe dont le title est Carte mere , je n'ai besoin que des 4 premiers item.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonsoir

    J'ai finalement parvenu à selectionner certaines données mais l'ordre suit celui du document XML ce qui est génant dans mon cas .
    En effet j insére ces données XML selon un ordre spécifique de la table de la base de données.
    Auriez vous une idée de comment je pourrais définir un ordre par XPATH , ou du moins est ce que ce langage d'expression peut il le faire? si non Existe t'il une solution pour pallier à ce probleme?

    Voici comment je me suis pris c'est un peu laborieux à lire l'expression.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
             XPathExpression   expr = xpath.compile("/Report/Page/Item[7]/Value|/Report/Page/Item[5]/Title|/Report/Page/Item[8]/Value|/Report/Page[2]/Group[Title='Ordinateur']/Item/Value");          
              Object  result = expr.evaluate(document, XPathConstants.NODESET);
                  NodeList   nodes = (NodeList) result;
                   for (int i = 0; i < nodes.getLength(); i++) 
                    {
                       System.out.println(" valeur " +nodes.item(i).getFirstChild().getNodeValue());      
                       strsql = "insert into machine values('"+nodes.item(i).getNodeValue();
                     }      
                       int nb  =  strsql.lastIndexOf(","); 
                       String strsql2 =  strsql.substring(0,nb);
                       strsql = strsql2 + "')";      
                       stmt.executeUpdate(strsql);

  13. #13
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Cet ordre étant complètement arbitraire, je ne vois pas comment on pourrait le spécifier dans une expression XPath. De toutes façons, il n'y a que deux ordres de tri en XPath : dans l'ordre du document, ou dans l'ordre inverse. XSLT permet de trier des noeuds sélectionnés selon des critères spécifiques.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Typiquement il me suffit de creer une feuille de style XSLT pour lequel je peux faire une selection des données avec le langage d'expression XPATH.
    Si j'ai bien compris la feuille de style XSLT est une representation arborescente du document xml. S'agit-il d'une representation mémoire comme le DOM ?
    Car si je dois transformer une cinquante de document XML ça risquerait de combler le serveur . En effet mes fichier XML sont localisés sur un serveur distant.
    On pourrait peut etre utiliser que le DOM pour recuperer les données en utilisant une methode recursive

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      if (node.hasChildNodes()) 
                                {
                                    // comme les Tree-s JAVA .....                        
                                    Node nextFils = node.getFirstChild(); 
                                    while (nextFils != null)
                                        {                       
                                            printDomTree (nextFils,indent+" ");                        
                                            nextFils = nextFils.getNextSibling();                 
                                        }
                                 }
    les données qu'on affiche seront placé dans un tableau et peut etre faire un parcours de ce tableau pour n'utiliser que des elements du tableau dont j'ai besoin.

    Qu'en pensez vous ?

    stardeus

  15. #15
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par stardeus
    S'agit til d'une representation mémoire comme le DOM ??
    Non. DOM est une API, et XSLT est un véritable langage (même si sa syntaxe repose sur XML). XSLT est un langage de transformation permettant de convertir une source XML en un format texte (XML, HTML, XHTML, rtf, code source, ...). En l'occurrence tu pourrais t'en servir pour générer, à partir de ta source XML, le script SQL permettant de faire les insertions dans la base.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Lorsque je génére une feuille de style XSLT celui ci me crée un fichier xslt.
    Avec Xpath je peux recuperer les données du XSLT. Seulement je ne risquerais pas d'etre confronté au même probleme à savoir l'ordre de mes insertion de données dans une base de données:

    Exple de fichier XML :
    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
     
     
        -<Report> 
                    <Page>
                              .<title> rapport</title>
                          <item>
                                   .<title> version</title>
                                   .<value> 1.02</value>
                          </item> 
                          <item>
                                   .<title>user</title>
                                   .<value>titi</value>
                          </item>
                          <item>   
                                   .<title>Date</title>
                                   .<value> 12/02/07 </value>
                          </item>
                     </Page>
                    <Page>
                            <title> ordinateur< /title>
                            <Group> 
                                      <title> ordi < /title>
                                              <item> 
                                                        .<title> TypeProc</title>
                                                        .<value> Intel </value>
                                              </item>
                                              <item>
                                                        .<title> OS </title>
                                                        .<value> XP </title>
                                               </item>
                            </Group>           
                     </Page>
        </Report>


    Voici un insertion que je souhaiterais réaliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Insert into ordinateur values ( '' , 'titi', 'XP' ,'Intel','12/02/07');
    Actuellement j'ai fait les 2 manieres dont je vous ai parlé et j'arrive a selectionner les données mais pas dans l'ordre dont je veux que cela s'ajoute.
    Avec Xpath le langage d'expression suit l'ordre du document XML.
    Alors est ce qu'avec XSLT je pourrais resoudre ce probleme. cela fait un moment dont j'essaie de resoudre ce probleme.

    Merci
    stardeus

  17. #17
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu n'as toujours pas indiqué quel était l'ordre dans lequel tu voulais faire ces insertions. S'il s'agit d'un ordre totalement arbitraire dépendant de l'instance XML dans lequel tu puises les données, je ne vois pas trop comment tu pourrais spécifier dans ton programme un ordre de tri... Si l'ordre n'est pas défini logiquement, il ne te reste donc plus qu'à lire les données séquentiellement avec DOM (ou avec plusieurs requêtes XPath).
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    Voila j'ai parvenu à extraire des données et les insérer dans une base de données par l'intermédiaire du JDOM + XPATH.

    j'ai placé tout les elements selectionné dans un tableau Arraylist et ensuite j'indique a quel emplacement il doit y etre.

    Typiquement je fais ceci:
    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
     
                                     Fichier XML 
     
    - <Group>
      <Title>Moniteur</Title> 
      <Icon>6</Icon> 
    - <Item>
      <Title>Carte vidéo</Title> 
      <Icon>6</Icon> 
      <Value>Intel(R) 82845G/GL/GE/PE/GV Graphics Controller (64 Mo)</Value> 
      </Item>
    - <Item>
      <Title>Accélérateur 3D</Title> 
      <Icon>49</Icon> 
      <Value>Intel Extreme Graphics</Value> 
      </Item>
    - <Item>
      <Title>Moniteur</Title> 
      <Icon>6</Icon> 
      <Value>Écran Plug-and-Play [NoDB] (CNT43185V6)</Value> 
      </Item>
      </Group>



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
                    Tab.clear();  
                   xpa = XPath.newInstance("/Report/Page[2]/Group[Title='Moniteur']/Item/Value");          
                   results = xpa.selectNodes(rootElement);
                   iter = results.iterator(); 
                   noeudCourant = null; 
                   while( iter.hasNext())
                   {
                        noeudCourant = (Element) iter.next();
                        Tab.add(noeudCourant.getText());    
                   }
                   System.out.println(Tab);                                       
                   strsql ="insert into moniteur values('','toto','"+Tab.get(0)+"','"+Tab.get(1)+"','"+Tab.get(2)+"')";
                   System.out.println(strsql);
    Resultat de la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    insert into moniteur values('','toto','Intel(R) 82845G/GL/GE/PE/GV Graphics Controller (64 Mo)','Intel Extreme Graphics','Écran Plug-and-Play [NoDB] (CNT43185V6)');

    Mais avec ceci je suis confronté à un probleme qui est le code est dependant du document XML. ( il n'est pas souple )
    Je me retrouve dans un nouveau probleme .

    J'ai plusieurs fichiers XML dont je dois parser et les ajouter dans une BDD.
    Je pensais qu'il possedait la meme structure XML et malheuresement non.
    j'obtiens des erreurs indexations.


    Exemple :
    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
     
    - <Group>
      <Title>Moniteur</Title> 
      <Icon>6</Icon> 
    - <Item>
      <Title>Carte vidéo</Title> 
      <Icon>6</Icon> 
      <Value>Intel Extreme Graphics 2</Value> 
      </Item>
    - <Item>
      <Title>Accélérateur 3D</Title> 
      <Icon>49</Icon> 
      <Value>Intel Extreme Graphics 2</Value> 
      </Item>
      </Group>
    resultat de la requetes :
    probleme d'indexation du fait que je donne l'ordre
    Comment je pourrais resoudre ce probleme? je ne vois pas comment faire?


    Stardeus

  19. #19
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 172
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    je tiens à remercier de toute l'aide que vous m'avez apporté. Malheuresement je n'ai pas pu trouver solution à mon probleme.

    Effectivement mon probleme consistait à réaliser une importation de données XML vers une base de données.

    Probleme majeur:
    - j'ai un ensemble de fichier XML ayant manifestement des structures données differentes. La conséquence est que je ne puis realiser l'importation correctement (code ayant pour entrée un des fichier xml ). la raison s'explique par des structures qui peuvent changée et ne peut etre applicable sur un seul code formalisé .


    Essai effectué :
    - Transformation XSLT
    - DOM
    - JOM + XPATH

    Si vous avez cependant d'eventuelle propositions je serais preneur.
    Mais je compte clore ce sujet

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 176
    Points : 75
    Points
    75
    Par défaut répondz moi s'il vous plait
    avant de clore ta disscution je souhaiterais posé une question

    si j'utilise dom pour transformer des fichiers txt en fichiers xml ensuite j'utiliserais ces derniers pour creer un fichier xml résultat
    tout en sachant que la structure de mes fichiers xml est différentes.
    je pense utilisé xslt et xpath

    je veux profiter de vos connaissance

Discussions similaires

  1. [WD10] Parcours d'un fichier XML
    Par nuFox dans le forum WinDev
    Réponses: 2
    Dernier message: 13/04/2009, 11h40
  2. [XSLT] parcours d'un fichier XML
    Par kakid dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 17/05/2008, 18h14
  3. Parcours d'un fichier XML
    Par Amiba dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/09/2007, 14h31
  4. Optimiser l'affichage d'un fichier XML de grosse taille...
    Par UnPeuPerdu dans le forum XML/XSL et SOAP
    Réponses: 11
    Dernier message: 03/06/2004, 16h01

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