PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Lire les attributs d'une balise XML.
Lire les attributs d'une balise XML.
Started by Zack, Jul., 24 2021 8:11 PM - 3 replies
Registered member
127 messages
Popularité : +4 (6 votes)
Posted on July, 24 2021 - 8:11 PM
Bonjour,

J'aimerais savoir comment lire les attributs d'une balise XML. Voici mon exemple de XML.

Je voudrais par exemple avoir la valeur de l'attribut BillToAccountNumber

<?xml version="1.0" encoding="utf-8"?>
<ScanEvents ExportedDate="2018-05-17 12:49:53">
<Scan ServerRecordedOn="17/05/2018 12:39:49" ScanCodeDateTime="17/05/2018 12:39:49" TransactionID="0" Status="1" StatusDescription="" UserName="Yan Parent" UserDefaultLocationID="sdf" TrackingNumber="ST3VDVL1X8ED31A" ItemID="00000397" Comments="">
<Shipment Service="REGULAR" BillToAccountNumber="KTOW2201" Latitude="0" Longitude="0" RouteCode="" HubCode="" LaborCode="" Reference1="" Reference2="ST3VDVL1X8ED31A" Reference3="" Reference4="" SalesOrderNo="" AddedBy="" Notes="">
<Item Pieces="1 of/de 1" Weight="2.000" WeightUnit="K" AdditionalBarcode="" AdditionalBarcodeType="" Exception="False"></Item>
<ShipFrom Name="SIBYL 123" Address="234 Boulevard Lemieux" Address2="" City="SOREL" ProvState="QC" PostalZIPCode="J3R5H7" Country="CA" Phone="450-746-7852" />
<ShipTo Name="RONA" Address="2563 Chemin des Pavois" Address2="" City="SOREL" ProvState="QC" PostalZIPCode="J3P6K7" Country="CA" Phone="1" Email="" />
</Shipment>
</Scan>
</ScanEvents>


Merci.
Registered member
213 messages
Popularité : +12 (12 votes)
Posted on July, 25 2021 - 4:53 AM
Zack,

Peut-être trouveras-tu réponse à ta question dans les fonctions XML de Windev.
https://doc.pcsoft.fr/fr-FR/?3081005

Autrement il faut ouvrir, lire, localiser et extraire comme s'il s'agissait d'un fichier texte.

Je me permets de suggérer de retirer toute information potentiellement identifiable de tes exemples.
Par exemple 123 rue Lointaine, BelleVille, Province, H0H0H0

Pour ce qui est de RONA, il faudra éventuellement mettre Lowes.
Une question de temps, ici au Québec.
8)

Bon dev.

Serge

--
-----
Parfois, la logique est implacable...
Registered member
3,875 messages
Popularité : +227 (347 votes)
Posted on July, 25 2021 - 7:36 AM
Bonjour,
Une autre solution est d'intégrer directement ton XML dans le projet : https://doc.pcsoft.fr/fr-fr/?3081018#NOTE3_2 et d'utiliser une variable xmlDocument

--
Il y a peut être plus simple, mais, ça tourne
Registered member
962 messages
Popularité : +183 (185 votes)
Posted on July, 25 2021 - 12:13 PM
hello,
Voici une possibilité en utilisant un xmldocument et une requête de sélection Xpath :
Mondoc est une chaîne = fChargeTexte("D:\temp\test.xml")
// on cherche les balises Shipment
RequêteXPATH est une chaîne = "//Shipment"
// Création du document
XMLDocument("Exemple", Mondoc)
SI XMLExecuteXPath("Exemple", RequêteXPATH) = Vrai ALORS
TANTQUE XMLTrouve("Exemple")=Vrai
Trace("BillToAccountNumber >> "+XMLDonnée("Exemple","BillToAccountNumber"))
XMLSuivant("Exemple")
FIN
XMLAnnuleRecherche("Exemple")
FIN
XMLTermine("Exemple")


--
Ami calmant, J.P