PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

  • Exemple de manipulation d'un fichier XML
XMLConstruitChaîne (Exemple)
Exemple de manipulation d'un fichier XML
Etats et Requêtes
sMonDocXML est une chaîne = "XML"
sInfoXML est une chaîne // Chaîne résultat
nIndice est un entier
nPositionXML est un entier

XMLDocument(sMonDocXML, "") // Crée un document XML vierge

// Facture 1
// ----------
XMLAjouteFils(sMonDocXML, "LISTE_DE_FACTURES", "", Vrai) // Elément Racine
XMLAjouteFils(sMonDocXML, "FACTURE", "", Vrai) // Noeud "Père"

// Infos sur le facture
XMLAjouteFils(sMonDocXML, "NUMERO", NumériqueVersChaîne(123))
XMLAjouteFils(sMonDocXML, "TOTAL", NumériqueVersChaîne(420.50))
XMLAjouteFils(sMonDocXML, "TVA", NumériqueVersChaîne(19.6))
XMLAjouteFils(sMonDocXML, "NOTES", "Informations sur la facture 123")

// Détail des lignes de FACTURE :
POUR nIndice = 1 A 5
        XMLAjouteFils(sMonDocXML, "LIGNE_FACTURE", NumériqueVersChaîne(nIndice), Vrai)
        XMLAjouteFils(sMonDocXML, "DESCRIPTION", "Description ligne " + nIndice)
        XMLAjouteFils(sMonDocXML, "MONTANT", NumériqueVersChaîne(84.25))
       // Remonte d'un niveau pour la prochaine ligne (ou pour la suite)
        XMLParent(sMonDocXML)
FIN

// Facture 2
// -----------
XMLParent(sMonDocXML)

// Remonte d'un niveau pour se mettre au même niveau que la facture précédente
// OU ici XMLRacine(sMonDocXML) car il n'y a plus qu'un niveau
XMLAjouteFils(sMonDocXML, "FACTURE", "", Vrai) // Noeud "Père"
XMLAjouteFils(sMonDocXML, "NUMERO", NumériqueVersChaîne(456))

// Infos sur le facture
XMLAjouteFils(sMonDocXML, "TOTAL", NumériqueVersChaîne(420.50))
XMLAjouteFils(sMonDocXML, "TVA", NumériqueVersChaîne(5.5))
XMLAjouteFils(sMonDocXML, "NOTES", "Informations sur la facture 456")

// Détail des lignes de FACTURE :
POUR nIndice = 1 A 10
        // Sauve la position en cours
        nPositionXML = XMLSauvePosition(sMonDocXML)
        XMLAjouteFils(sMonDocXML, "LIGNE_FACTURE", NumériqueVersChaîne(nIndice), Vrai)
        XMLAjouteFils(sMonDocXML, "DESCRIPTION", "Description ligne " + nIndice)
        XMLAjouteFils(sMonDocXML, "MONTANT", NumériqueVersChaîne(42.5))
        // Autre moyen par rapport à XMLParent
        // Restaure la position pour la prochaine ligne (ou pour la suite)
        XMLRetourPosition(sMonDocXML, nPositionXML)
FIN

sInfoXML = XMLConstruitChaîne(sMonDocXML) // Récupère le XML construit
XMLTermine(sMonDocXML) // Libère le document XML

// Création du fichier XML
fSauveTexte(ComplèteRep(fRepExe()) + "Facture.xml", sInfoXML)
// Affichage dans l'appli associée aux XML
LanceAppliAssociée(ComplèteRep(fRepExe()) + "Facture.xml")
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire