Fichier xml avec plusieurs attributs par ligne [Résolu]

Signaler
Messages postés
79
Date d'inscription
mercredi 30 août 2006
Statut
Membre
Dernière intervention
15 mai 2009
-
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Bonjours,
J'ai un petit soucie concernant l'édition d'un certains type de fichier xml.
Voici le type de fichier que j'aimerais générer.
Jusqu'a maintenent je n'utilisais qu'un attribut à la fois dans mes éléments, mais la les enchainer me pose problème.

<?xml version="1.0" encoding="ISO-8859-1" ?>
-


Ci dessous un extrait du code que j'utilise actuelement

xmlDoc.appendChild oRacine
Set oElement = xmlDoc.selectSingleNode("PersonList") ' positionnement sur la racine

Set reqPerson = DbGP.OpenRecordset("select * from person")
n = reqPerson.RecordCount
If n <> 0 Then
reqPerson.MoveLast
reqPerson.MoveFirst
n = reqPerson.RecordCount
While n > 0
nomcomplet = reqPerson!NOMMATR
vname = InStr(1, nomcomplet, " ")

If vname <> 0 Then
nom = Mid(nomcomplet, 1, vname - 1)
pnom = Mid(nomcomplet, vname + 1, Len(nomcomplet))

End If

Dim CIB As String
CIB = "OPERATEUR"
Set oNom = xmlDoc.createElement("PersonStatus")
oNom.Text = CIB
oElement.appendChild oNom

Set oPrenom = xmlDoc.createElement("lastName")
oPrenom.Text = nom
oElement.appendChild oPrenom

Set oFirst = xmlDoc.createElement("firstName")
oFirst.Text = pnom
oElement.appendChild oFirst

Set oID = xmlDoc.createElement("ID")
oID.Text = i
oElement.appendChild oID

n = n - 1
i = i + 1
reqPerson.MoveNext
Wend

Merci beaucoup

Eva,

<!-- / message -->

1 réponse

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
Dim nID As Long
'<?xml version="1.0" encoding="ISO-8859-1" ?>
'
'
'



xmlDoc.AppendChild oRacine
Set oPersons = xmlDoc.selectSingleNode("PersonList")

Set reqPerson = DbGP.OpenRecordset("select * from person")
Do Until reqPerson.EOF
nomcomplet = reqPerson!NOMMATR
vname = InStr(1, nomcomplet, " ")
If vname Then
nom = Left$(nomcomplet, vname - 1)
pnom = Mid$(nomcomplet, vname + 1)
Else
nom = vbNullString
pnom = vbNullString
End If
nID = nID + 1

Set oPerson = oPersons.AppendChild(xmlDoc.createElement("Person"))
oPerson.Attributes.setNamedItem(xmlDoc.createAttribute("status")).Text = "OPERATEUR"
oPerson.Attributes.setNamedItem(xmlDoc.createAttribute("firstname")).Text = pnom
oPerson.Attributes.setNamedItem(xmlDoc.createAttribute("lastname")).Text = nom
oPerson.Attributes.setNamedItem(xmlDoc.createAttribute("id")).Text = nID

reqPerson.MoveNext
Loop