Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Je suis sous PB8 (et oui ça existe encore) et j'ai besoin d'exporter une datawindow vers un fichier XML (virement SEPA). Le SaveRowAs de cette version ne le permet pas. Quelqu'un l'a-t-il déjà fait avec une version < à la 9 ?
Merci de votre aide.
Hors ligne
Bonjour, effectivement avant la version 9, il faut le faire "manuellement".
Un peu d'aide ici : http://www.sybase.com/detail?id=1013844
Hors ligne
Ahhh serval, je vois qu'on a les memes modifs à faire...Le fameux fichier SEPA !!
Heureusement pour moi, je ne l'ai pas encore attaqué...et comme on va passer sous PB12, j'espère que ca ira beaucoup mieux à faire
Bon courage en tout cas
Hors ligne
Bonjour,
Peut-être que ça va t'aider un peu.
Je faisais de cette façon. D'autres solutions sont sans doute meilleur mais celle-ci fonctionne.
oleobject iole_document_xml, iole_prologue, iole_dataxml, iole_coord iole_document_xml = CREATE oleobject iole_prologue = CREATE oleobject iole_dataxml = CREATE oleobject iole_coord = CREATE oleobject iole_document_xml.ConnectToNewObject( "MSXML2.DOMDocument.3.0" ) // Création du prologue iole_prologue = iole_document_xml.CreateProcessingInstruction( "xml", "version='1.0' encoding='ISO-8859-1'" ) // Insertion du prologue iole_document_xml.InsertBefore( iole_prologue, iole_document_xml.ChildNodes.Item(0) ) // Création du noeud racine iole_dataxml = iole_document_xml.CreateElement( "DATAXML" ) // Ajout du noeud racine iole_document_xml.DocumentElement = iole_dataxml //Création d'un noeud "COORDONNEES" iole_coord= iole_document_xml.CreateElement( "COORD" ) // Création de l'attribut "Nom" iole_coord.SetAttribute( "Nom", ls_nom ) // Création de l'attribut "Adresse" iole_coord.SetAttribute( "Adresse", ls_adresse) // Création de l'attribut "Codepostal" iole_coord.SetAttribute( "Codepostal", ls_codepostal) // Ajout du noeud "COORDONNEES" iole_dataxml.AppendChild( iole_coord ) //***** SAUVEGARDE DU FICHIER XML ****** oleobject rdr, wrt, oStream rdr = CREATE oleobject oStream = CREATE oleobject wrt = CREATE oleobject // Utilisation du parseur MSXML 3 rdr.ConnectToNewObject( "MSXML2.SAXXMLReader" ) wrt.ConnectToNewObject( "MSXML2.MXXMLWriter" ) oStream.ConnectToNewObject( "ADODB.STREAM" ) oStream.Open; oStream.Charset = "WINDOWS-1252"; wrt.indent = True; wrt.Encoding = "WINDOWS-1252"; wrt.standalone = True; wrt.Version = "1.0"; wrt.output = oStream; rdr.contentHandler = wrt; rdr.errorHandler = wrt; rdr.Parse(iole_document_xml) ; wrt.Flush ; ls_path = "C:\temp\toto.XML" // Sauvegarde du fichier XML oStream.SaveToFile( ls_path) ;
Hors ligne