IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XMLRAD Discussion :

XMLInstruction incompréhension


Sujet :

XMLRAD

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut XMLInstruction incompréhension
    Bonsoir,

    une petite question j'essaye de trouver une instruction qui me permette de modifier ou de supprimer une valeur dans un flux XML.

    J'ai essayé l'instruction 'File Instruction' ... le paramètre LOAD est ok par contre le faite de mettre une valeur dans 'Field Name' ne change rien nous avons en retour toujours le même conteneur

    En ce qui concerne l'update cela ne fonctionne pas du tout ... et le delete il me supprime le fichier ... en regardant dans le code Delphi dans TFile.DoProcess on voit que pour le "Delete" il supprime le fichier et dans cette même fonction il ne va pas du tout charger le paramètre 'Field Name' qui est présent dans l'écran du XMLGram correspondant.

    Quelqu'un a une idée à ce souci ? car en ce moment je suis obligé de coder en Delphi juste pour mettre à jours une valeur, ou de suppprimer une valeur dans un flux XML. Je ne trouve pas cela très souple vue qu'à priori les fonctions dans le XMLGram sont faites pour ça.

    Merci pour vos réponses

    Michel

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Salut,

    Il faut ajouter dans le context le type d'action qu'on va effectuer sur le flux avec le nom d'élément suivant :

    XMLC_Operation = 'INSERT' UPDATE ou DELETE

    Tu as un exemple dans la demo Gallery sur l'utilisation de File.

    Sylvain
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    c'est pas du tout un soucis, la XMLInstruction permet justement de charger (LOAD), enregistrer (SAVE) ou supprimer (DELETE) un fichier. Ca n'a rien à voir avec le contenu du fichier lui-meme.

    Cette instruction s'utilise conjointement avec du code ou d'autres instructions pour manipuler le contenu, typiquement une instruction XMLUpdate pour manipuler un document XML, puis l'enregistrer sur disque.

    Donc ici, une premiere instruction FILE pour charger le fichier dans un XMLCursor, une instruction XMLUpdate pour manipuler ce XMLCursor via un fragment, puis une autre instruction File pour enregistrer le XMLCursor modifié sur disque.

    Tu peux directement utiliser la méthode UPDATE dans l'instruction FILE pour faire ca, qui fait l'integralité d'un coup. Il utilise un XMLUpdater en interne, qui a besoin, comme le dit Sylvain de parametres mis dans le Context. Pour savoir quoi faire dans le document XML en question. Ca utilise un fragment, je te recommande de regarder le code source pour capter comment ca marche.
    Nicolas

  4. #4
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    Merci de vos directions je regarde cela et je vous tiens au courant de mes avancés

    Michel

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    154
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 154
    Points : 114
    Points
    114
    Par défaut
    Bon voila je viens de regarder avec la démo "Gallery" en faite si j'ai bien tout saisi on peut modifier/insérer/supprimer une grappe complète dans un flux XML via l'XMLInstruction "LOAD" avec comme structure:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <CONTACTS><CONTACT>...</CONTACT></CONTACTS>
    mais si on n'a pas de structure identique dans le fichier comme par exemple le fichier profile de l'utilisateur comment on s'y prend ? Je ne vois pas dans le fragment quel paramètre passé ...

    Merci de vos réponses

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 284
    Points : 349
    Points
    349
    Par défaut
    il te faut décrire integralement ta grappe XML avec les fragments, en utilisant des fragments type RECORD ou DATASET.

    Un Record est un "enregistrement" simpe, tandis qu'un dataset est un ensemble d'enregistrements simple contenus dans un element container. Tu peux penser à un DBExtract type Simple ou Multiple pour avoir une comparaison.

    Ensuite, un fragment record ou dataset contient un ensemble de field, dont les valeurs seront récupérer du Context.

    Vive le code source et les exemples fournis pour comprendre comment ca marche précisement
    La clef, c'est que tes valeurs dans le Context doivent etre bien nommés. Regarde dans les XMLGram de Delos (fournis avec XMLRAD) et le code dans XMLGram.pas, TXMLUpdater.DoProcess.

    Bon courage
    Nicolas

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    520
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Points : 1 446
    Points
    1 446
    Par défaut
    Si Nicolas il a dit bon courage :-) c'est loin d'être innocent lol 8)
    .NET / ASP.NET MVC / Delphi / XMLRAD / XSL / Technos Web

    Mon Blog : http://blog.developpez.com/index.php?blog=89
    Mes Articles : http://sjames.developpez.com/
    Rubrique XMLRAD: http://xmlrad.developpez.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Incompréhensible CFont ...
    Par olive_le_malin dans le forum MFC
    Réponses: 6
    Dernier message: 19/07/2004, 17h22
  2. messages incompréhensibles
    Par devalender dans le forum Outils
    Réponses: 2
    Dernier message: 06/07/2004, 16h53
  3. incompréhension avec ado
    Par Orgied dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/05/2004, 18h24
  4. [WSAD5] probleme incompréhensible
    Par capitaine_banane dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 07/04/2004, 11h56
  5. [JSP] Erreur incompréhensible
    Par xxaragornxx dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/09/2003, 16h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo