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 :

XMLGram.Match et AfterInternalInstruction


Sujet :

XMLRAD

  1. #1
    Membre émérite

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Par défaut XMLGram.Match et AfterInternalInstruction
    Bonsoir,

    Dans un projet XMLRAD 2005 dernière release, IIS5, WinXP, SharpDevelop, C# :
    J'ai une instruction Match qui doit matcher des éléments <item>.
    Après chaque <item> rencontré, un gestionnaire AfterInternalInstruction exécute du code et doit injecter un nouvel élément dans l'élément <item> courant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    private void FormReaderRSS_AfterInternalInstruction(XMLCLX.IXMLInstruction XMLInstruction, XMLComponent.TAfterInternalInstructionEventArgs e)
    		{
    			DateTime dt;
     
    			if (XMLInstruction.Name == "Items")
    			{
    				dt = Convert.ToDateTime(Context.GetValue("pubDate"));
    				e.Output.SetValue("pubDateFormatted",dt.ToString("dd/MM/yyyy"));
    			}
    		}
    Le problème est que dans mon XML résultat, je retrouve ma donnée insérée après mes éléments <item>, et non à l'intérieur de chaque élément <item> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <item>
    <title>Cutting Edge: Implement Custom Cache Dependencies in ASP.NET 1.x</title>
    <link>http://msdn.microsoft.com/msdnmag/issues/04/07/CuttingEdge</link>
    <description>Cutting Edge: Implement Custom Cache Dependencies in ASP.NET 1.x</description>
    <creator>Dino Esposito</creator>
    <pubDate>Tue, 15 Jun 2004 00:00:00 GMT</pubDate>
    </item>
    <pubDateFormatted>18/07/2000</pubDateFormatted>
    (<pubDateFormatted> aurait du se trouver en tant qu'élément enfant de <item>, non ?

    Merci pour vos éventuelles suggestions,

    Sylvain

  2. #2
    RDM
    RDM est déconnecté
    Membre Expert

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    Comme l'instruction Match ne génère pas d'element XML mais que ca dépend de la sous instruction, l'Output correspond au même que celui de l'instruction. donc si Match est la première, cela correspond à l'OutputDoc (=<document>)

  3. #3
    Membre émérite

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Par défaut
    Citation Envoyé par RDM
    Comme l'instruction Match ne génère pas d'element XML mais que ca dépend de la sous instruction, l'Output correspond au même que celui de l'instruction. donc si Match est la première, cela correspond à l'OutputDoc (=<document>)
    C'est bien ce que je constate, je pensais que e.Output correspondait à l'élément matché.
    Dans ce cas y-a-t-il un moyen simple de modifier l'élément matché sans écrire de code ? Peut-être qu'un Assign en instruction enfant de Match marcherait...

  4. #4
    RDM
    RDM est déconnecté
    Membre Expert

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 424
    Par défaut
    attention l'élément Matché est dans l'Input par contre !

  5. #5
    Membre émérite

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

    Informations forums :
    Inscription : Mars 2002
    Messages : 520
    Par défaut
    ah oui, voilà en code :

    e.Input.SetValue("pubDateFormatted",dt.ToString("dd/MM/yyyy"));

    au lieu de

    e.Output.SetValue("pubDateFormatted",dt.ToString("dd/MM/yyyy"));

    et ça marche au poil.

    Merci

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

Discussions similaires

  1. XMLGRAM
    Par rgarnier dans le forum XMLRAD
    Réponses: 13
    Dernier message: 27/11/2006, 13h15
  2. XMLGram et nombre d'enregistrements par page
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 7
    Dernier message: 26/02/2003, 12h35
  3. {$PARAM} dans XMLGRAM
    Par rgarnier dans le forum XMLRAD
    Réponses: 3
    Dernier message: 31/01/2003, 12h42
  4. [XMLRAD] Pb AfterInternalInstruction
    Par pram dans le forum XMLRAD
    Réponses: 4
    Dernier message: 28/01/2003, 17h45
  5. [XMLRAD] Version 7RC et XMLGRAM
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/12/2002, 10h56

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