XML / XSL / ACCESS

Import de données XML dans une base de données ACCESS.
Import de données XML dans une base MYSQL

Procédure :

L’attribut « match » de la balise <xsl:template> permet de définir (grâce à la notation XPath) le ou les éléments du document XML sur lesquels s’applique la transformation.

La notation Xpath permet de définir des patterns, c’est-à-dire des chaînes de caractères permettant de repérer un noeud dans le document XML. Les principaux patterns sont :

Pattern Exemple Signification
| Gauche|Milieu Indique une alternative (un noeud ou bien l’autre (ou les deux))
/ personne/nom Chemin d’accès aux éléments (personne/bras/gauche) au même titre que l’arborescence utilisée généralement pour les fichiers (/usr/bin/toto)
* * Motif « joker » désignant n’importe quel élément
// //personne Indique tous les descendants d’un noeud
. . Caractérise le noeud courant
.. .. Désigne le noeud parent
@ @valeur Indique un attribut caractéristique (dans l’exemple l’attribut value

La transformation peut être réalisée

  • soit par ajout de texte,
  • soit en définissant des éléments de transformation, c’est-à-dire des éléments permettant de définir des règles de transformation à appliquer aux éléments sélectionnés par l’attribut match

Exemple code VBA 6.0

https://khany.developpez.com/tutoriel/xml/


 
Public Sub ImportXML()
 
    Dim doc As MSXML2.DOMDocument
    Dim parent As MSXML2.IXMLDOMElement
    Dim fils As MSXML2.IXMLDOMNode
 
    Dim dt As DAO.Recordset
 
    Set dt = CurrentDb.OpenRecordset("table1")
    Set doc = New MSXML2.DOMDocument
 
    doc.async = False
    doc.Load (emplacement et nom du fichier XML)
    ' Recherche des noeuds IDENT
    For Each parent In doc.getElementsByTagName("IDENT")
        dt.AddNew
        ' parcourir noeud fils du parent
        For Each fils In parent.childNodes
            ' attribut = nom du champs
            dt.Fields(fils.nodeName) = fils.Text
        Next
        dt.Update
    Next
 
    Set doc = Nothing
    dt.close
    Set dt = nothing
 
End Sub

 

Manipulation XML / PHP

 

Biblio :