Page 1 sur 1

[R] Ecriture dans fichier xml

Posté : jeu. 06 mars 2014 15:21
par Coramed
Bonjour,

J'ai un petit soucis sur une création d'un fichier xml; Je m'explique:

Je cherche à faire ce fichier :

<?xml version="1.0" encoding="UTF-8"?>
<Root>
<location>
<Coordonnes_x>1</Coordonnes_x>
<Coordonnes_y>1</Coordonnes_y>
</location>

<location>
<Coordonnes_x>2</Coordonnes_x>
<Coordonnes_y>2</Coordonnes_y>
</location>
</Root>

Le code que j'utilise est le suivant:

Code : Tout sélectionner

#include <_XMLDomWrapper.au3>


Global $sFile = "Y:\Private\AutoIt\Record positions\Data Storage\test.xml"
_XMLCreateFile ($sFile,"Root", True,True)
_XMLFileOpen($sFile)

    _XMLCreateChildNode ( "Root", "location" )

    _XMLCreateChildNode("Root/location", "Coordonnes_x" ,1 ,"")
    _XMLCreateChildNode("Root/location", "Coordonnes_y" ,1 ,"")

    _XMLCreateChildNode("Root/location", "Coordonnes_x" ,2 ,"")
    _XMLCreateChildNode("Root/location", "Coordonnes_y" ,2 ,"")
 
Lorsque j'execute ce code, j obtiens le résultat suivant:

<?xml version="1.0" encoding="UTF-8"?>
<Root>
<location>
<Coordonnes_x>1</Coordonnes_x>
<Coordonnes_y>1</Coordonnes_y>
<Coordonnes_x>2</Coordonnes_x>
<Coordonnes_y>2</Coordonnes_y>
</location>
</Root>


Ma question est donc (comme vous l'aurez deviné), c'est comment je ferme le noeud <location> entre les 2 entrées de coordonnées?

Cordialement

Re: [..] Ecriture dans fichier xml

Posté : jeu. 06 mars 2014 15:30
par jguinch
Tu l'as trouvé où ton UDF ?

Re: [..] Ecriture dans fichier xml

Posté : jeu. 06 mars 2014 15:56
par Coramed
C'est un UDF répandu sur internet.

Quoi qu'il en soit, à force de tourner en rond, j'ai fini par trouver:

Code : Tout sélectionner

#include <_XMLDomWrapper.au3>

Global $sFile = "Y:\Private\AutoIt\Record positions\Data Storage\test.xml"

_XMLCreateFile ($sFile,"Root", True,True)
_XMLFileOpen($sFile)

For $i=1 to 3

    _XMLSelectNodes("Root")
    _XMLCreateChildNode("Root","location")
    _XMLCreateChildNode("Root/location[" & $i & "]", "Coordonnes_x" ,1 ,"")
    _XMLCreateChildNode("Root/location[" & $i & "]", "Coordonnes_y" ,1 ,"")

Next