OVH Cloud OVH Cloud

Construction XML

8 réponses
Avatar
chris
Bonjour aux pros du xml,
comment construire un document de type
-Entete de commande 1
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2
-Entete de commande 2
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2

Je n'arrive pas en utilisant les fonctions XMLAjouteFils et
XMLAjouteAttribut à ordonner correctement tout ça!

--
Cordialement
Chris

8 réponses

Avatar
Romuald.besset
chris a écrit :
Bonjour aux pros du xml,
comment construire un document de type
-Entete de commande 1
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2
-Entete de commande 2
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2

Je n'arrive pas en utilisant les fonctions XMLAjouteFils et
XMLAjouteAttribut à ordonner correctement tout ça!

--
Cordialement
Chris



Bonjour Crhis
Après un petit combat avec les XMLAjoute/Insère j'ai capitulé fautre de
temps et de compréhension de la subtilité de la différence (pas moyen de
fermer un sous élément. En revanche, analysant la structure du XML à
produire, j'en ai déduit une classe minimaliste qui génère la chaine XML
par balise.
Il me suffit, une fois la chaine produite, de l'envoyer à un XMLDocument
pour utiliser XMLConstruitChaine et résoudre l'encodage.

Les tests en condition de production devraient suivre dans les prochain
jours, la classe pourrait suivre.

++ R&B
www.WDForge.org
Avatar
chris
Bonjour,
et merci de répondre.
De mon coté j'ai un peu avancé et j'ai pu un peu élaguer mes problèmes
qui s'empilaient à savoir pas d'accents ni d'espace ni autres caractères
spéciaux dans les noms des balises attributs et tout et tout. Ca
parait bete mais comme windev ne renvoie pas d'erreur, je n'ai pas pensé
à ca tout de suite .
Ensuite j'ai vu que l'on pouvait faire plein de chose avec la fonction
xmlexecutexpath mais il faut que je dépiote ce "plein de choses"

J'ai récupéré les derniers travaux la dessus sur
http://www.w3.org/TR/2005/WD-xquery-20050915/ mais y'a du boulot pour
tout comprendre !!!

--
chris
Romuald.besset a écrit :
chris a écrit :

Bonjour aux pros du xml,
comment construire un document de type
-Entete de commande 1
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2
-Entete de commande 2
--Ligne de commande 1
--Article de ligne de commande 1
--Désignation de ligne de commande 1
--Prix unitaire de ligne de commande 1
--Quantité de prix unitaire de ligne de commande 1
---Délai 1 de ligne de commande 1
---Délai 2 de ligne de commande 1
--Ligne de commande 2
--Article de ligne de commande 2
--Désignation de ligne de commande 2
--Prix unitaire de ligne de commande 2
--Quantité de prix unitaire de ligne de commande 2
---Délai 1 de ligne de commande 2
---Délai 2 de ligne de commande 2

Je n'arrive pas en utilisant les fonctions XMLAjouteFils et
XMLAjouteAttribut à ordonner correctement tout ça!

--
Cordialement
Chris




Bonjour Crhis
Après un petit combat avec les XMLAjoute/Insère j'ai capitulé fautre de
temps et de compréhension de la subtilité de la différence (pas moyen de
fermer un sous élément. En revanche, analysant la structure du XML à
produire, j'en ai déduit une classe minimaliste qui génère la chaine XML
par balise.
Il me suffit, une fois la chaine produite, de l'envoyer à un XMLDocument
pour utiliser XMLConstruitChaine et résoudre l'encodage.

Les tests en condition de production devraient suivre dans les prochain
jours, la classe pourrait suivre.

++ R&B
www.WDForge.org


Avatar
Romain PETIT
chris a émis l'idée suivante :

Ensuite j'ai vu que l'on pouvait faire plein de chose avec la fonction
xmlexecutexpath mais il faut que je dépiote ce "plein de choses"



Bonjour,

as-tu essayé directment l'ActiveX MSXML ?
http://msdn.microsoft.com/xml/

Il y a tout un tas d'API pour valider, créer, gérer des fichiers XML...

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
chris
Bonjour,
j'ai vu des trucs la dessus mais je manque dramatiquement d'exemples.

Si quelqu'un a ca dans ses tiroirs, je suis preneur.
--
chris
Romain PETIT a écrit :
chris a émis l'idée suivante :

Ensuite j'ai vu que l'on pouvait faire plein de chose avec la fonction
xmlexecutexpath mais il faut que je dépiote ce "plein de choses"




Bonjour,

as-tu essayé directment l'ActiveX MSXML ?
http://msdn.microsoft.com/xml/

Il y a tout un tas d'API pour valider, créer, gérer des fichiers XML...

A+



Avatar
Romain PETIT
chris a formulé la demande :
Bonjour,
j'ai vu des trucs la dessus mais je manque dramatiquement d'exemples.

Si quelqu'un a ca dans ses tiroirs, je suis preneur.



Télécharge le SDK.
Il y a des exemples (en VB, Jscript...) et des fichiers d'aide...

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
chris
Peux-tu me dire quelle est la version "stable" en cours du xml parser et
la version du sdk qui va avec ?
Le top étant un lien sur les version correcte.

Romain PETIT a écrit :
chris a formulé la demande :

Bonjour,
j'ai vu des trucs la dessus mais je manque dramatiquement d'exemples.

Si quelqu'un a ca dans ses tiroirs, je suis preneur.




Télécharge le SDK.
Il y a des exemples (en VB, Jscript...) et des fichiers d'aide...

A+



Avatar
Romain PETIT
Romain PETIT a écrit :
chris a formulé la demande :
Bonjour,
j'ai vu des trucs la dessus mais je manque dramatiquement d'exemples.

Si quelqu'un a ca dans ses tiroirs, je suis preneur.



Télécharge le SDK.
Il y a des exemples (en VB, Jscript...) et des fichiers d'aide...

A+



Et en cherchant un peu avec les mots clé "MSXML create file" on trouve
des exemples assez parlants :
http://www.perfectxml.com/articles/xml/msxml30.asp
http://www.topxml.com/xml/articles/xmlvbasp/
...
Voir aussi des versions plus anciennes ("Msxml2") mais qui pour ma part
m'ont suffit amplement pour parser des fichiers XML :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxml/html/beginner.asp
http://www.xml.com/pub/a/2000/07/12/vbasic/example.html

http://www.topxml.com/xml_dom/default.asp#TopOfPage
http://www.thescarms.com/XML/DOMTutorial.asp

Un exemple minimaliste en WD :

oXML est un objet OLE dynamique
oXMLNode est un objet OLE dynamique
oXMLRoot est un objet OLE dynamique

oXML = allouer un objet automation "Msxml2.DOMDocument"
// mode asynchrone
oXML>>async = OLEFalse
eNode_Element est un entier = 1

oXMLRoot = oXML>>createNode(eNode_Element,"MaRacine","")
//ou bien avec le mot clé "element" :
oXML>>createNode("elemente","MaRacine","")
oXML>>appendChild(oXMLRoot)
oXMLRoot = oXML>>documentElement()
oXMLNode = oXML>>createNode(eNode_Element, "MonNoeud", "")

oXMLNode>>Text = "LeTexteQueJeVeux"
oXMLRoot>>appendChild(oXMLNode)
oXML>>save("c:test.xml");
libérer oXML
libérer oXMLRoot
libérer oXMLNode

Problème : la libération de mémoire qui ne semble pas 100% correcte (en
WD7.5 en tout cas).

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Romain PETIT
chris avait écrit le 03/10/2005 :
Peux-tu me dire quelle est la version "stable" en cours du xml parser et la
version du sdk qui va avec ?
Le top étant un lien sur les version correcte.



Tu n'es pas allé sur le site ?
http://msdn.microsoft.com/xml/

Le dernier en date est le MSXML 4.0.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/9e353ac7-ab8b-44aa-9fbc-12ca715ab1e7.asp

Ppur les API relatives au DOM, tout est sur le MSDN :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/d051f7c5-e882-42e8-a5b6-d1ce67af275c.asp

A+

--
Romain PETIT
http://cerbermail.com/?O16kfXOFcq
(cliquez sur le lien ci-dessus pour me contacter en privé)