|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : juin 2005 Messages : 31 ![]() |
Bonjour à tous,
Une application tierce (dont je ne peux rien modifier car prestataire extérieur) génére 2 fichiers xml par dossiers traités (un fichier entête et un fichier détail). Seul la 1ère lettre dans le nom de ces deux fichiers changent (Exxxx.xml pour entête et Dxxxx.xml pour détail). Ensuite, tous les fichiers sont copiés dans un répertoire unique. On retrouve dans ce répertoire : Exxxx1.xml Dxxxx1.xml Exxxx2.xml Dxxxx2.xml et ainsi de suite en fonction du nombre de dossiers traités. Je dois boucler sur ce répertoire et concaténer les deux fichiers xml qui appartiennent au même dossier (concaténer Exxxx1.xml avec Dxxxx1.xml). J'ai réalisé un code qui fonctionne mais je pense qu'il y a moyen de faire mieux. Voici mon code : Code :
tableau_entete : Exxxx1.xml puis Exxxx2.xml .... etc tableau_detail : Dxxxx1.xml puis Exxxx2.xml ....ect Mon problème est le suivant si j'ai : tableau_entete : Exxxx1.xml puis Exxxx3.xml (le n° 2 a disparu) tableau_detail : Dxxxx1.xml puis Dxxxx2.xml La concaténation va fonctionner pour Exxx1 et Dxxx1.xml. Mais pour les autres, du fait qu'il manque Exxxx2.xml tout est décalé et la condition d'égalité n'est plus respecté. Or, Exxxx3.xml existe avec Dxxxx3.xml. Comment faire pour continuer à concaténer lorsque l'entête et le détail sont présent malgré un décalage ? Est-ce assez claire ou pas ? Merci pour vos conseils et retour. Cordialement, |
||
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 813 ![]() |
Code :
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||||
|
|
00
|
|
|
#3 | |||||
|
Invité de passage
![]() Inscription : juin 2005 Messages : 31 ![]() |
Citation:
C'est exactement ce que je cherchais à faire, m'indiquer si il trouve ou pas la même occurrence dans le nom des fichiers. Mais il me reste un petit problème avec cette boucle, c'est qu'il concatène tous les fichiers dans un seul et unique XML. Or, je dois concaténer dans un même fichier, les couples ayant la même occurrence (Exxx1.xml concaténer avec Dxxx1.xml donne D_final_xxx1.xml, idem avec Exxx2 ...). Une idée ? Je cherche également de mon côté. @+ tard |
|||||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juin 2005 Messages : 31 ![]() |
Autant pour moi !
J'ai trouvé ! Merci encore ! |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : juin 2005 Messages : 31 ![]() |
Encore moi !
Il me reste un tout petit problème à régler. Avec la boucle actuelle, je vérifie si j'ai une correspondance entre le fichier entete et le tableau detail, mais comment faire également l'inverse ? C'est à dire j'ai le fichier detail mais pas la correspondance d'un fichier entete... Merci pour votre aide. @+ tard Voici le nouveau code source modifié grâce à l'aide Séb. Code :
|
||
|
|
01
|
|
|
#6 |
|
Invité de passage
![]() Inscription : juin 2005 Messages : 31 ![]() |
Bon, en faite j'ai laissé tomber en PHP et j'ai fait cela en Shell, plus rapide et moins de ligne de code !
Merci quand même. @+ |
|
|
01
|
Copyright © 2000-2012 - www.developpez.com