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
| sXML est une chaîne = [
<zylab>
<repertoires>
<repertoire name="DP_CF">
<fichiers>
</fichiers>
</repertoire>
<repertoire name="DA_C">
<fichiers>
</fichiers>
</repertoire>
<repertoire name="DA_S">
<fichiers>
</fichiers>
</repertoire>
<repertoire name="GI_MIXTE_DG">
<fichiers>
</fichiers>
</repertoire>
</repertoires>
</zylab>
]
sNouveau_XML est une chaîne
sResNomDossier,sUnFichier,sResListeFichier sont des chaînes
sExtension,sNom,sChemin sont des chaînes
nPosition_point,nPosition_antislash sont des entiers
SI XMLDocument("DocXML", sXML) ALORS
// on se positionne sur la racine
XMLRacine("DocXML")
// Boucle de lecture
BOUCLE
// Recherche des balises <repertoires>
XMLRecherche("DocXML","repertoires",XMLBalise)
SI XMLTrouve("DocXML") = Faux ALORS SORTIR
// On a trouvé une balise <repertoires>
XMLFils("DocXML")
XMLPremier("DocXML")
TANTQUE XMLEnDehors("DocXML") = Faux
// On récupère le nom du dossier
sResNomDossier = XMLDonnée("DocXML","name")
// On récupère la liste des fichiers du dossier
sResListeFichier = fListeFichier(ChaîneConstruit("C:\Users\c.charpentier\Desktop\Projet Clément\%1\*.*",sResNomDossier),frNonRécursif + frInterruptible)
// Extraction des chaînes (valeurs des balises) et ajout au fichier xml
POUR TOUTE CHAÎNE sUnFichier DE sResListeFichier SEPAREE PAR RC
// On extrait les chaines (valeurs des balises)
nPosition_point = Position(sUnFichier,".",0,DepuisFin)
nPosition_antislash = Position(sUnFichier,"\",0,DepuisFin)
sExtension = Droite(sUnFichier,Taille(sUnFichier) - nPosition_point + 1)
sNom = Milieu(sUnFichier,nPosition_antislash + 1,nPosition_point - nPosition_antislash - 1)
sChemin = Gauche(sUnFichier,nPosition_antislash)
// On se positionne pour ajouter les balises et données au bon endroit du xml
XMLFils("DocXML")
XMLSuivant("DocXML")
// Ajout dans le fichier xml
XMLAjouteFils("DocXML","fichier","",Vrai)
XMLAjouteFils("DocXML","extension",sExtension)
XMLAjouteFils("DocXML","nom",sNom)
XMLAjouteFils("DocXML","chemin",sChemin)
// Remonte de 2 niveau pour le prochain fichier
XMLParent("DocXML")
XMLParent("DocXML")
FIN
XMLSuivant("DocXML")
FIN
// On remonte au niveau des repertoires
XMLParent("DocXML")
FIN
FIN
sNouveau_XML = XMLConstruitChaîne("DocXML")
XMLTermine("DocXML") |
Partager