
| | auteurs : ThierryAIM, bbil |
Le code ci-dessous utilise la classe Microsoft.XMLDOM, permettant d'accéder aux documents de type XML :
| VBS |
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
Set oRacine = xmlDoc.createElement("Racine")
xmlDoc.appendChild oRacine
Set oElement = xmlDoc.selectSingleNode("Racine")
Set oElement = xmlDoc.createElement("element")
xmlDoc.documentElement.appendChild oElement
Set oNom = xmlDoc.createElement("nom")
oNom.Text = "LENOM"
oElement.appendChild oNom
Set oNom = Nothing
Set oPrenom = xmlDoc.createElement("prenom")
oPrenom.Text = "Prénom"
oElement.appendChild oPrenom
Set oPrenom = Nothing
Set oElement = Nothing
set rdr = CreateObject("MSXML2.SAXXMLReader")
set wrt = CreateObject("MSXML2.MXXMLWriter")
Set oStream = CreateObject("ADODB.STREAM")
oStream.Open
oStream.Charset = "ISO-8859-1"
wrt.indent = True
wrt.encoding = "ISO-8859-1"
wrt.output = oStream
Set rdr.contentHandler = wrt
Set rdr.errorHandler = wrt
rdr.Parse xmlDoc
wrt.flush
oStream.SaveToFile "test1.xml", 2
Set rdr = Nothing
Set wrt = Nothing
Set xmlDoc = Nothing
|
Résultat :
| XML |
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<Racine Create="03/03/2007">
<element ID="1">
<nom>LENOM</nom>
<prenom>Prénom</prenom>
</element>
</Racine>
|
|
| | auteur : bbil |
Le code ci-dessous utilise la classe Microsoft.XMLDOM, permettant d'accéder aux documents de type XML :
|
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.Async="false"
xmlDoc.Load("c:\test1.xml")
For each x in xmlDoc.documentElement.childNodes
Msgbox x.nodename & " : " & x.text
Next
Set xmlDoc = Nothing
|
|
| | auteurs : Forum, ThierryAIM |
La méthode SetAttribute de l'objet Element permet de spécifier un attribut pour une balise XML.
Un attribut se compose de 2 paramètres :
- un identificateur
- la valeur de l'attribut
Reprenons l'exemple précédent et ajoutons un attribut Date au noeud racine et un attribut ID pour le noeud element :
|
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
Set oCreation = xmlDoc.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
xmlDoc.insertBefore oCreation, xmlDoc.childNodes.Item(0)
Set oRacine = xmlDoc.createElement("Racine")
oRacine.setAttribute "Créé_le", FormatDateTime(Date, vbGeneralDate)
xmlDoc.appendChild oRacine
Set oElement = xmlDoc.selectSingleNode("Racine")
Set oElement = xmlDoc.createElement("element")
oElement.setAttribute "ID", "1"
xmlDoc.documentElement.appendChild oElement
Set oNom = xmlDoc.createElement("nom")
oNom.Text = "LENOM"
oElement.appendChild oNom
Set oNom = Nothing
Set oPrenom = xmlDoc.createElement("prenom")
oPrenom.Text = "Prénom"
oElement.appendChild oPrenom
Set oPrenom = Nothing
Set oElement = Nothing
xmlDoc.save ("test1.xml")
Set xmlDoc = Nothing
|
Résultat :
| XML |
<?xml version="1.0" encoding="ISO-8859-1"?>
<Racine Créé_le="19/02/2007">
<element ID="1">
<nom>LENOM</nom>
<prenom>Prénom</prenom>
</element>
</Racine>
|
|
lien : Comment créer un nouveau document XML ?
|
| | auteurs : Forum, ThierryAIM |
C'est bien gentil de créer un document XML, encore faut-il pouvoir accéder à son contenu et en retirer les informations qui nous intéressent :
Sur la base de l'exemple précédent, comment récupérer les valeurs de la balise nom en utilisant la méthode getElementsByTagName :
| VBS |
Set xmlDoc=CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("test1.xml")
Set oElement = xmlDoc.documentElement
If Not oElement Is Nothing Then
For Each x In oElement.getElementsByTagName("nom")
MsgBox x.Text
Next
End If
|
|
lien : Comment ajouter un attribut à une balise XML ?
|
| | auteur : bbil |
La méthode GetAttribute de l'objet Element permet d'accéder aux attributs d'une balise noeud :
| VBS |
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
xmlDoc.async = "false"
xmlDoc.load("test1.xml")
For Each oElement In xmlDoc.getElementsByTagName("element")
MsgBox oElement.getAttribute("ID")
Next
|
|
Consultez les autres F.A.Q's
Les sources présentés sur cette pages sont libre de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2008
Developpez LLC. Tout droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérets.
Cette page est déposée à la SACD.
|