Répétez apres moi :J'aime PBAdonf. J'aime PBAdonf. J'aime PBAdonf.

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 05-10-2011 15:37:09

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

[RESOLU] Generation du summary en XML

Bonjour,

Une nouvelle petite question pour la génération d'un fichier XML.

Je dois constituer un fichier XML qui est fait ainsi :

Entete de facture
Lignes de facture

et Summary contenant les cumuls de la facture (montant ht et montant ttc, et cumuls des tva par taux)

Je génère le fichier xml avec une dw basée sur une procédure stockée, en utilisant le template

J'ai donc mis l'option Start detail au début des lignes pour avoir toutes les lignes.

Mon 1er problème est que le summary se répète après chaque ligne, alors que dans la dw les zones sont bien dans le summary.

Mon deuxième problème, vient du cumul des montants de tva par taux qui doit se positionner dans le summary. Pour cela j'ai fais un sous report pour avoir autant de ligne que de montant et taux de tva, et dans le fichier xml, cela se traduit comme cela

Code:

<Tax>
   <Money currency="EUR">3.91</Money>
   <Taxdetail category="vat" percentagerate="19.60"/>
   <Money currency="EUR">2.59</Money>
   <Taxdetail category="vat" percentagerate="18.60"/>
  xsi:nil=&apos;true&apos;
</Tax>

Je ne comprend pas d'ou vient la ligne 

Code:

xsi:nil=&apos;true&apos;

Merci d'avance pour vos réponses,

Hors ligne

 

#2 06-10-2011 10:48:23

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Bonjour,

Les problèmes pourraient être dit plus simplement :


1°) Est-il possible dans le saveas d'un fichier xml à partir d'une datawindow d'avoir une configuration :

entete
lignes
lignes
lignes
footer (et que le footer ne se répète qu'a la fin du fichier) ?


2°) Est-il possible d'avoir des sous reports dans des dw et de faire une sauvegarde xml de manière propre ?

Le tout sans passer par PBDOM, si possible, pour simplifer les choses ?

Merci d'avance pour votre retour,

Hors ligne

 

#3 06-10-2011 12:00:52

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 725
Pépites: 11,358
Banque: 100,221,387,868,884,304
Site web

Re: [RESOLU] Generation du summary en XML

1°) non, pas a ma connaissance, par contre il est possible de faire :
entete
.lignes
..ligne (starts detail)
..ligne
..ligne
footer

2°) je crains qu'il faille faire une requête différente pour ce besoin, de manière a ne pas avoir de sous rapports mais des groupes et jouer sur l'option starts group header (avec l'option Iterate Header for groups de coché dans l'onglet data export).

ps: pour intercaler un niveau de tag (dans l'ex: lignes) dans un template, je te conseil d'editer le source du dataobject et de patcher à la main la partie export.xml, car il n'y a pas de solution wysiwyg dans l'editeur).


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#4 06-10-2011 16:41:02

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Mouais , Mouais, guère encourageant,

Merci pour le retour,


Hors ligne

 

#5 10-10-2011 10:37:33

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Bonjour,

Néanmoins, il est possible pour la construction d'un fichier xml, d'utiliser des composite et des nested reports, cf l'aide de pb ci dessous.

A condition que le sous report se trouve dans le détail de la datawindow.

Code:

Composite and nested reports
Report controls can be referenced in the Detail section of export templates as children of an element. 

 Nested reports supported for XML export only Import does not support nested reports. If you attempt to import data in any format, including XML, CSV, DBF, and TXT, that contains a nested report, the nested report is not imported and the import may fail with errors.

Composite reports
For composite reports that use the Composite presentation style, the default template has elements that reference each of its nested reports.

If a composite DataWindow contains two reports that have columns with identical names, you must use the procedure that follows if you want to generate an XML document with a DTD or schema. If you do not follow the procedure, you will receive a parsing error such as "Element 'identical_column_name' has already been declared." 

Create a template in the first report and select this template in the Use Template list on the Data Export property page. 
Create a template in the second report. 
If any element name is used in the template in the first report, change it to another name in the template in the second report. 
Select the template for the second report in the Use Template list. 
Generate the XML document. 

These steps are necessary because you cannot use a given element name more than once in a valid DTD or schema. 

Nested reports
For report controls added to the detail band of a base report that is related to the inserted report with retrieval arguments or criteria, the report control is available to the export template in two ways: 

Select an element in the template or add a new element, then select Add Child>DataWindow Control Reference. Any report controls inserted in the detail band are available for selection in the dialog box that displays. 
Drag a report control from the Control List view and drop it on an existing empty element. 

When you export XML using a template that has a reference to a report control, the export template assigned to the nested report with the Use Template property is used, if it exists, to expand the XML for the nested report. If no template is specified for the nested report, the default template is used.

The relationship between the nested report and the base report, for example a Master/Detail relationship, is reflected in the exported XML.

J'arrive donc bien à construire une datawindow avec un sous report, à placer le sous report dans la template destinée à la génération du fichier xml, mais le résultat du fichier xml n'est pas correct

J'ai encore la ligne xsi:nil=&apos;true&apos; à la fin du sous report, alors que si je sauvegarde le sous report en xml, je n'ai pas cette ligne

Code:

Le problème pourrait venir de ça

Code:

If the data item for a column is null, the child element is created with the content "xsi:nil='true'". If the data item is an empty string, an empty element is created.

Mais en l’occurrence, je n'ai pas de valeur null, ni dans le report principal, ni dans le sous report, car si je les sauvegarde de manière 'autonome', je n'ai pas ce problème.

Auriez vous une idée pour ne plus avoir cette phrase parasite

Code:

xsi:nil=&apos;true&apos;

avec l'utilisation du sous report ?

Ou sinon, est-ce que je peux supprimer cette phrase du fichier xml avec PBDom par exemple ?

Merci d'avance,

Hors ligne

 

#6 10-10-2011 13:55:44

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

Auriez vous une idée pour ne plus avoir cette phrase parasite

Code:

xsi:nil=&apos;true&apos;

avec l'utilisation du sous report ?

Bizarre, ce texte, ça correspond justement (sous une forme «échappée») à

xsi:nil='true'

Il n'y aurait pas une valeur nulle liée à cet élément <Tax> ?

wazou1812 a écrit:

Ou sinon, est-ce que je peux supprimer cette phrase du fichier xml avec PBDom par exemple ?

En plan B, il y peut y avoir une solution avec Un GetContent() sur le noeud Tax mais à mon avis il vaut mieux comprendre d'où vient le nil et éviter qu'il ne se produise que d'essayer de faire tomber le truc en marche après coup.


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#7 10-10-2011 14:54:32

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Code:

Ce que je ne comprend pas, c'est que :

si je fais un fichier xml avec la dw principale sans le sous report, je n'ai pas cette phrase correspondant à une valeur null

si je fais un fichier xml avec la dw tax, je n'ai pas cette phrase correspondant à une valeur null

[q] Et il c'est uniquement quand j'associe les 2 dw que j'ai ce comportement/q]


Alors , je cherche, mais pour l'instant rien de concluant, Seki, as-tu déjà essayé de mettre un sous report dans un report avec un fichier xml ?

Hors ligne

 

#8 10-10-2011 16:02:25

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

Alors , je cherche, mais pour l'instant rien de concluant, Seki, as-tu déjà essayé de mettre un sous report dans un report avec un fichier xml ?

Je n'ai quasiment jamais utilisé de dw composite, et pas pour faire du xml donc mon aide va être limitée.
Peut-être qu'xlat pourra te donner d'autres pistes, s'il trouve du temps pour venir ici, mais j'entends que ça code dur

Je viens de jou tester avec une dw "normale" pour expérimenter la génération en xml à partir de données "shared" (internes à la dw) incluant des valeurs vides sans reproduire de problème. Tout ce que je remarque c'est que je peux avoir un contenu dans un tag en plus des sous tags. Autrement dit avec ton exemple, le "xsi:nil=&apos;true&apos;" chez toi se positionne en tant que contenu pour le tag Tax en plus des sous tags Detail, Amount, Money. Dans ton template, il n'y a rien en dessous de Tax (et rattaché à ce noeud) une fois repliés les Money, Description, TaxDetail, TaxableAmount ?

J'ai aussi essayé de faire une dw composite mais je ne suis pas allé très loin, il faudrait que je refasse une structure ressemblant à ta facture avec des groupes mais un peu trop long pour moi là...

Dernière modification par seki (10-10-2011 16:06:07)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#9 10-10-2011 16:31:19

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Code:

Si j'essaye avec une dw composite très simple, une dw avec des données d'entete (identifiant par exemple) et une dw de lignes (avec 2 colonnes de détail) j'ai le même comportement.


Et concernant les noeuds, je n'ai rien d'intercallé avant et ou après tax
http://imageshack.us/photo/my-images/171/imagejqu.png/


Merci

Hors ligne

 

#10 12-10-2011 14:47:02

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Bonjour,

Après avoir logué un appel chez sybase, voici la réponse finale :

Apres une rapide recherche dans notre base de connaissances, j'ai trouve ceci: Ici

Ce bug a ete corrige en PowerBuilder 10.5.2 build 7564 et il n'existe pas de contournement.

Conclusion: il n'y a pas d'autres choix que de migrer en une version qui est supportee (PB11.5, PB12.1, PB12.5)

Pas de chance, moi je suis en build 7525 de la version 10.5.2, et effectivement en version 12.0, je n'ai pas le problème, mais dommage la migration n'est pas encore prévu.

Il ne me reste plus qu'a essayer de supprimer cette fameuse ligne

xsi:nil=&apos;true&apos;

qui se trouve dans ce paragraphe

<Tax>
    <!--Montant ht complet-->
    <Money currency="EUR">3186.40</Money>
    <Description xml:lang="en">debit</Description>
    <!--Détail des taxes-->
    <TaxDetail purpose="tax" category="vat" percentageRate="19.60">
    <TaxableAmount>
     <Money currency="EUR">3186.40</Money>
    </TaxableAmount>
    <TaxAmount>
    <Money currency="EUR">19.60</Money>
    </TaxAmount>
    </TaxDetail>
    xsi:nil=&apos;true&apos;
</Tax>

Hors ligne

 

#11 12-10-2011 14:58:41

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

Il ne me reste plus qu'a essayer de supprimer cette fameuse ligne

xsi:nil=&apos;true&apos;

ça ne devrait pas être trop difficile avec les fonctions fichiers (FileOpen FileRead, FileWrite, FileClose)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#12 12-10-2011 16:10:00

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

Une idée du hacker du bureau d'à côté (xlat) : tu ne peux pas t'arranger pour ajouter un contenu au noeud Tax qui serait un whitespace (une tabulation, un espace) ? Ça permettrait peut-être de faire croire au moteur xml de la DW que le contenu n'est pas nul...

Sinon sans passer à PB12, tu n'as pas l'EBF 10.5.2 build 7564 ? (moi si, ça fait 143 Mo )

Dernière modification par seki (12-10-2011 16:11:01)


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#13 12-10-2011 16:23:20

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

J'avais commencé à solutionner mon problème avec pbdom, ce que je ne comprend pas, c'est pourquoi , je n'arrive pas à atteindre les niveaux inférieurs aux balises



InvoiceDetailRequestHeader
InvoiceDetailOrder
InvoiceDetailSummary



en utilisant le code

Code: pb

I_PBDOM_DETAIL_FINAL.GetRootElement().GetChildElement ("InvoiceDetailRequest").GetContent(pbdom_obj_array)



Alors que mon template est constitué ainsi [img]http://imageshack.us/photo/my-images/20 … adonf.png/[/img]


et ce que je souhaite, c'est atteindre la balise Tax, se trouvant à l'intérieur de la balise InvoiceDetailSummary afin de supprimer la ligne parasite

Code:

Il me manque quelque chose me permettant de descendre plus en détail dans l'arborescence de mon fichier xml, mais quoi ?

Merci d'avance,

Hors ligne

 

#14 12-10-2011 16:36:19

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

seki a écrit:

Une idée du hacker du bureau d'à côté (xlat) : tu ne peux pas t'arranger pour ajouter un contenu au noeud Tax qui serait un whitespace (une tabulation, un espace) ? Ça permettrait peut-être de faire croire au moteur xml de la DW que le contenu n'est pas nul...

Le pire, c'est que la dw renvoie bien quelque chose, et que la phrase parasite est ajoutée à la fin

seki a écrit:

Sinon sans passer à PB12, tu n'as pas l'EBF 10.5.2 build 7564 ? (moi si, ça fait 143 Mo )

Est-il possible de déposer cette version sur un serveur FTP ? Merci d'avance,

Hors ligne

 

#15 12-10-2011 17:15:46

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

J'avais commencé à solutionner mon problème avec pbdom, ce que je ne comprend pas, c'est pourquoi , je n'arrive pas à atteindre les niveaux inférieurs aux balises



InvoiceDetailRequestHeader
InvoiceDetailOrder
InvoiceDetailSummary



en utilisant le code

Code: pb

I_PBDOM_DETAIL_FINAL.GetRootElement().GetChildElement ("InvoiceDetailRequest").GetContent(pbdom_obj_array)

Il te manque des éléments intermédiaires ? Genre

root.GetChildElement("Request").GetChildElement("ShipNoticeRequest")

?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#16 12-10-2011 18:09:29

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Oui, c'est cela, il faut que je descende mon arborescence, en imbriquant les getchild , et ainsi, je n'aurais plus qu'a faire le removecontent, lorsque j'aurais repéré la balise text contenant la valeur que je cherche.

Merci

Hors ligne

 

#17 13-10-2011 11:34:49

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Bonjour,


J'y suis presque, je suis sur la bonne ligne à supprimer :

Code: pb

long ll_row  
PBDOM_Object      pbdom_obj_array[] 
I_PBDOM_DETAIL_FINAL.GetRootElement().GetChildElement("InvoiceDetailRequest").GetChildElement ("InvoiceDetailSummary").GetChildElement ("Tax").GetContent(pbdom_obj_array)

For ll_row = 1 to upperbound(pbdom_obj_array[])
  if  pbdom_obj_array[ll_row].GetTextTrim() = "xsi:nil='true'" then
    messagebox ( , pbdom_obj_array[ll_row].GetTextTrim() )
  end if
NEXT


Il ne me reste plus qu'a supprimer cette fameuse ligne de mon fichier

xsi:nil=&apos;true&apos;

, mais voilà, elle resiste, je n'y arrive pas, une petite idée ?

Merci d'avance,

Hors ligne

 

#18 13-10-2011 11:38:09

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Generation du summary en XML

Si tu n'y arrives pas en PBDOM tu peux toujours parcourir le fichier et supprimer cette ligne...


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#19 13-10-2011 12:15:13

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

Il ne me reste plus qu'a supprimer cette fameuse ligne de mon fichier

xsi:nil=&apos;true&apos;

, mais voilà, elle resiste, je n'y arrive pas, une petite idée ?

Moi aussi j'ai bataillé pour essayer de supprimer ton texte parasite d'un fichier xml valide (testé sur le document cxml avec lequel j'ai joué pour ta question sur le dtd) et je ne trouvais jamais le texte en question.
En fait en testant ceci :

Code: pb

PBDOM_Builder pbdom_bldr
pbdom_document pbdom_doc
pbdom_bldr = Create PBDOM_Builder
pbdom_doc= pbdom_bldr.BuildFromFile(ls_file)
pbdom_doc.savedocument("c:\temp\pbdomtest_filtered.xml")
destroy pbdom_doc
destroy pbdom_bldr


Je me suis rendu compte que le contenu "parasite" est filtré (encore un bug ?) et qu'on ne le retrouve plus dans le second fichier.

(testé sur pb 11.5.1 build 4843)

Avec un "ami" comme PB, pas besoin d'ennemi


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#20 13-10-2011 12:40:42

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

bonjour,


Mais lorsque je suis à ce niveau

Code: pb

I_PBDOM_DETAIL_FINAL.GetRootElement().GetChildElement("InvoiceDetailRequest").GetChildElement ("InvoiceDetailSummary").GetChildElement ("Tax").GetContent(pbdom_obj_array)
For ll_row = 1 to upperbound(pbdom_obj_array[])
  if  pbdom_obj_array[ll_row].GetTextTrim() = "xsi:nil='true'" then
    messagebox ( , pbdom_obj_array[ll_row].GetTextTrim() )
  end if
NEXT



Il ne me manque plus que quelque chose du style removecontent ou settext, pour lui dire de supprimer le texte sur lequel il se trouve ?

Pour cela il faudrait que je puisse mettre le resultat du Getcontent dans une variable de style pbdom_xxx, mais je ne trouve pas la variable appropriée pour stockée le Getcontent,

Une idée ?

Hors ligne

 

#21 13-10-2011 12:49:24

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 725
Pépites: 11,358
Banque: 100,221,387,868,884,304
Site web

Re: [RESOLU] Generation du summary en XML

un

Code: pb

pbdom_obj_array[ll_row].settext("")

??


https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#22 13-10-2011 12:54:24

seki  
0x73656B69
Award: bf
Lieu: Vittoncourt & Luxembourg
Date d'inscription: 20-11-2008
Messages: 1121
Pépites: 4,296,080,220
Banque: 9,223,372,036,854,775,808
Site web

Re: [RESOLU] Generation du summary en XML

wazou1812 a écrit:

Il ne me manque plus que quelque chose du style removecontent ou settext, pour lui dire de supprimer le texte sur lequel il se trouve ?

Pour cela il faudrait que je puisse mettre le resultat du Getcontent dans une variable de style pbdom_xxx, mais je ne trouve pas la variable appropriée pour stockée le Getcontent

Le code que tu as posté fonctionne ? Tu vois la messagebox ?

Si oui, peut-être que copier pbdom_obj_array[ll_row] dans un PBDOM_Text te permettrait de faire un SetText("") dessus ?


The best programs are the ones written when the programmer is supposed to be working on something else. - Melinda Varian

Mes réponses PB sur StackOverflow
http://stackoverflow.com/users/flair/317266.png

Hors ligne

 

#23 13-10-2011 12:58:26

xlat  
0xc0000005
Award: bf
Lieu: Tanger (طنج)
Date d'inscription: 04-12-2010
Messages: 725
Pépites: 11,358
Banque: 100,221,387,868,884,304
Site web

Re: [RESOLU] Generation du summary en XML

xlat a écrit:

un

Code: pb

[ll_row].settext("")

??

arf, j'avais pas lu la doc, çà écraserait aussi les childs.

donc plus un truc du genre :

Code: pb

pbdom_object ll_objects[]
pbdom_obj_array[ll_row].getcontent( ll_objects[] )
long j
for j = 1 to upperbound(  ll_objects[] )
  if ll_objects[ll_row].GetTextTrim() = "xsi:nil='true'" then
     pbdom_obj_array[ll_row].RemoveContent( ll_objects[ll_row] )
     exit
  end if
next

https://lut.im/eJINqa9o/vAtyxD0h "Don't believe everything you read on the Internet"
    -- Abraham Lincoln

www.ngs.ma

Hors ligne

 

#24 13-10-2011 14:53:35

wazou1812  
Modératrice
Award: bf
Date d'inscription: 24-05-2006
Messages: 610
Pépites: 2,097
Banque: 3,536,631,712,504

Re: [RESOLU] Generation du summary en XML

Hello,

J'abandonne PBDOM, le removecontent fonctionne 'bien', mais au final la ligne n'est pas supprimée.

J'opte donc pour la méthode FileOpen.....

Mais encore un problème :

Code: pb

li_filenum_read = FileOpen(as_file, LineMode!, Read!, Shared!)
//li_filenum_read = FileOpen( as_file, LineMode!, Write!, Shared!)

IF li_filenum_read<=0 THEN
else
  //probleme de lecture du fichier s'il est ouvert en mode Write!
  li_read = FileReadEX( li_filenum_read, ls_LigneLue )
  
  if li_read = -1 then
    invo_batchs.nvuf_ecriture_batchlog( + as_file)
    return -1
  end if


Si j'ouvre le fichier avec l'option Read, j'arrive bien à le parcourir et à repérer la ligne qui pose problème, par contre si le l'ouvre en mode Write, j'ai erreur -1 sur l'instruction FileRead et idem pour FileReadEx.
Pourtant le fichier est bien présent, je ne comprend pas pourquoi je n'arrive pas à le lire avec l'option Write ?

Une idée ?

Merci

Hors ligne

 

#25 13-10-2011 14:59:28

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5122
Pépites: 97,200
Banque: 2,147,483,647

Re: [RESOLU] Generation du summary en XML

Il faut ouvrir ton fichier en lecture et un autre fichier en écriture.
Tu prends les lignes du fichier 1 et tu les écris dans le fichier 2 en omettant celle qui te gêne.


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22