|
| ialiser Classe : Balise + Texte. |
| Débuté par LM Concept, 16 déc. 2025 12:34 - 4 réponses |
| |
| | | |
|
| |
Membre enregistré 397 messages |
|
| Posté le 16 décembre 2025 - 12:34 |
Hello à tous, J'avance bien dans la création de mes classe, mais j'ai un cas que je n'arrive pas à résoudre ! Une Balise + un Texte.
Exemple de ce que j'ai besoin :
<cRegion> <Pays codePays="FR">FRANCE</Pays> </cRegion>
J'ai fait cela :
cPaysType est une Classe m_sCodePays est une chaîne <xmlAttribut, Sérialise="codePays"> m_sPays est une chaîne FIN
cRegion est une Classe m_clPays est un cPaysType <Sérialise ="Pays"> FIN
UneRegion est un cRegion
UneRegion.m_clPays.m_sCodePays = "FR" UneRegion.m_clPays.m_sPays = "FRANCE"
bufBuff est un Buffer Sérialise(UneRegion,bufBuff,psdXMLAgrégé)
Je me retrouve avec
<cRegion> <Pays codePays="FR"> <m_sPays>FRANCE</m_sPays> </Pays> </cRegion>
Bien que pas sérialisé le "m_sPays " est intégré au XML. Alors je peux le supprimer avec un "Remplace", mais bon ca fait bricolage !! En plus effacer après un "Serialise" pourquoi pas mais dans l'autre sens c'est à dire "Déserialise" j'ai pas essayé mais a mon avis ca fonctionne pas. J'ai mal configuré mes classes ?
Merci de vos lumières
BON DEV |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 323 messages |
|
| Posté le 16 décembre 2025 - 19:33 |
Bonjour, LM Concept a écrit :
Bien que pas sérialisé le "m_sPays " est intégré au XML.
L'attribut d'extension sérialise, n'indique pas que le membre est ou non sérialisé, il indique que dans la sérialisation, ce n'est pas le nom du membre (défini dans la classe) qu'il faut prendre en compte, mais le nom que l'on passe.
m_sPays est une chaîne <Sérialise=""> pourrait peut être faire l'affaire
Rappel : Pour ne pas sérialiser un membre, il faut utiliser <sérialise=Faux> -- Il y a peut être plus simple, mais, ça tourne Quand tout a échoué, utilise l'option RTFMMessage modifié, 16 décembre 2025 - 19:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 397 messages |
|
| Posté le 17 décembre 2025 - 11:01 |
Merci pour le message, Malheureusement, le <Sérialise=""> il me créé la balise vide, et du coup le XML est en erreur.
<Pays codePays="FR"> <>FRANCE</> </Pays> J'ai essayé plein de choses, <mapping = "*"> , <Sérialise="*"> <Sérialise="."> <Sérialise="valeur"> etc .... Rien n'y fait, j'ai demandé aussi au support gratuit, mais il me réponde de passer par l'assistant payant! J'ai bien l'impression que Windev ne sais pas gérer ce cas là. Il y a bien la solution :
bufBuff = Remplace(bufBuff , "<m_sPays>", "") bufBuff = Remplace(bufBuff , "</m_sPays>", "") mais j'aurais toujours le problème du "Désérialise"
Je vais donc être obligé d'abandonner le "Serialise /Deserialise " et coder le XML qui parfois fait plus de 1000 lignes, manuellement!
Maintenant si une solution existe je suis preneur !
Merci, BON DEV |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 63 messages |
|
| Posté le 17 décembre 2025 - 16:19 |
LM Concept a écrit :
Hello à tous, J'avance bien dans la création de mes classe, mais j'ai un cas que je n'arrive pas à résoudre ! Une Balise + un Texte. Exemple de ce que j'ai besoin : <cRegion> <Pays codePays="FR">FRANCE</Pays> </cRegion>
Bonjour, malheureusement je ne crois pas que ce soit possible. il manque pas mal de chose au niveau de la sérialisation/déserialisation dans le framework. Là dans votre cas il manque l'équivalent de l'attribut [XmlText] en c#, c'est dommage ils ont fait xmlAttribut mais pas xmlText...Message modifié, 17 décembre 2025 - 16:20 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 397 messages |
|
| Posté le 17 décembre 2025 - 16:51 |
Oui j'ai fait pas mal de recherche depuis quelques jours, j'ai même demandé à Claude et ChatGTP en plein désespoir !! Et en effet il semble que ce ne soit pas complet pour la Sérialisation / Deserialisation !
Tant pis ! Je vais faire manuellement, Développer 10 Fois plus vite, mais plus longtemps ! Merci.
BON DEV |
| |
| |
| | | |
|
| | | | |
| | |
|