Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour,
Cette année, pas mal de xml à générer. Je bricole avec pbdom et je dois dire qu'en général je trouve mon bonheur ( et aussi beaucoup grace aux conseils éclairés de Seki . Mails là je cale depuis des heures et ça me rend
Je dois obtenir :
<?xml version="1.0" encoding="utf-8"?>
<Banque xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" CodeBanque="99990" NatureIntegration="INITIAL" TypeFichier="TEST" TypeGarantie="DEPOTS" VersionFGD="4.00" xsi:noNamespaceSchemaLocation="FGD-VUC-4.00.xsd">
Mais j'obtiens :
<?xml version="1.0" encoding="UTF-8"?>
<Banque xsi="http://www.w3.org/2001/XMLSchema-instance" CodeBanque="99990" VersionFGD="4.00" TypeFichier="TEST" TypeGarantie="DEPOTS" NatureIntegration="INITIAL" xsi:noNamespaceSchemaLocation="FGD-VUC-4.00.xsd">
Je ne parviens pas à ajouter ce fichu xmlns:
Mon code :
PBDOM_Document doc PBDOM_ProcessingInstruction xml_process PBDOM_Element Banque STRING ls_ini_file ls_ini_file = gnv_app.of_getappinifile() ls_ini_file = gnv_app.of_getappinifile() ldt_runtime = datetime(today(),now()) ls_runtime = string(date(ldt_runtime),"YYYY-MM-DD")+"T"+string(time(ldt_runtime),"hh:mm:ss") ls_codebanque = profilestring(ls_ini_file, "VUC", "CodeBanque", "99990") ls_typegarantie = profilestring(ls_ini_file, "VUC", "TypeGarantie", "DEPOTS") ls_typefichier = profilestring(gls_ini_file, "VUC", "TypeFichier", "TEST") TRY doc = CREATE PBDOM_Document xml_process = create PBDOM_ProcessingInstruction xml_process.setname("xml") xml_process.setvalue("version", "1.0") xml_process.setvalue("encoding", "UTF-8") doc.NewDocument("Banque") Banque = doc.GetRootElement() doc.addcontent(xml_process) destroy xml_process Banque = doc.GetRootElement() Banque.SetAttribute("xsi","http://www.w3.org/2001/XMLSchema-instance") Banque.SetAttribute("VersionFGD", "4.00") Banque.SetAttribute("CodeBanque",ls_codebanque) Banque.SetAttribute("TypeFichier",ls_typefichier) Banque.SetAttribute("TypeGarantie",ls_typegarantie) Banque.SetAttribute("NatureIntegration", "INITIAL") Banque.SetAttribute("noNamespaceSchemaLocation", "FGD-VUC-4.00.xsd","xsi"," ",false) //PBDOM Errors trapping CATCH ( PBDOM_Exception pbde ) MessageBox( "PBDOM Exception", pbde.getMessage() ) CATCH ( PBXRuntimeError re ) MessageBox( "PBNI Exception", re.getMessage() ) END TRY
d'avance de vos lumières.
Hors ligne
Merci pour
xmlns:xsi n'est pas un attribut, c'est une déclaration de namespace
Rappelle-toi cette réponse à propos de pbdom_element_name.SetNamespace() et ça devrait t'aider.
Hors ligne