Bonjour,
j'aimerai remplacer le contenu des balises <content>, dans le fichier suivant (extrait.xml), par des valeurs différentes (d'un compteur par exemple).
Code xml : 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 <Document> <Story> <StoryPreference/> <InCopyExportOption/> <ParagraphStyleRange> <CharacterStyleRange> <Content>{Nom_produit}</Content> </CharacterStyleRange> </ParagraphStyleRange> </Story> <Story> <StoryPreference/> <InCopyExportOption/> <ParagraphStyleRange> <CharacterStyleRange> <Content>{Prix_HT}</Content> </CharacterStyleRange> </ParagraphStyleRange> </Story> <Story> <StoryPreference/> <InCopyExportOption/> <ParagraphStyleRange> <CharacterStyleRange> <Content>{Ref_produit}</Content> </CharacterStyleRange> </ParagraphStyleRange> </Story> </Document>
Je sais déjà récupérer le contenu de ces balises :
Code html : 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 <html> <body> <p id="demo"></p> <script> var xhttp; xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { accesContenuBalise(this); } }; xhttp.open("GET", "origine.xml", true); xhttp.send(); function accesContenuBalise(xml) { var contenuBalise; var i; var xmlDoc; var txt = ""; xmlDoc = xml.responseXML; contenuBalise = xmlDoc.getElementsByTagName("Content"); for (i = 0; i < contenuBalise.length; i++) { txt += contenuBalise[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("demo").innerHTML = txt; } </script> </body> </html>
Je possède également le code me permettant d'ouvrir et d'enregistrer mon fichier :
Code js : 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 // JavaScript File //fs comme filesystem pour Node var fs = require('fs'); //lecture du xml var fichierAmodifier = fs.readFileSync('extrait.xml').toString(); //remplacement du contenu var compteur = 1; //ecriture du nouveau fichier fs.writeFileSync('extrait2.xml', fichierAmodifier);
Comment puis-je combiner les 2 pour :
- ouvrir le fichier
- récupérer le contenu des balises
- remplacer le contenu de ces balises par les valeurs du compteur (1,2 et 3 ou plus pour un autre fichier plus long par exemple)
- enregistrer le résultat dans un nouveau fichier
Merci beaucoup de votre aide.
Partager