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

AS/400 Discussion :

RPG XML-INTO et élément vide


Sujet :

AS/400

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 123
    Points : 146
    Points
    146
    Par défaut RPG XML-INTO et élément vide
    Bonjour,

    Je suis en train d'essayer le code op XML-INTO (V5R4+) et je tombe sur un problème : Le document XML source contient un élément vide dans certains cas.

    Voici un example
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <users>
      <user>
        <name>Machin</name>
        <userid>1</userid>
        <is_admin/>
      </user>
      <user>
        <name>Bidule</name>
        <userid>1</userid>
      </user>
    </users>
    L'élèment vide <is_admin/> représente dans ce cas une donnée booléenne. Sa présence signifie True (on) et son absence Fase (Off).

    J'ai essayé avec une DS de réception comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    D user            ds                     qualified dim(50)
    D  name                        100    varying
    D  id                           10u 0
    D  is_admin                       N
    Malheureusement, XML-INTO alimente bien toutes les sous-zones, sauf mon indicateur "is_admin" (la valeur est toujours à blanc)

    Y-a-t-il une solution (je ne trouve rien dans la doc de référence, mais j'ai peut-être loupé quelque chose) ? ou alors la seule solution est de passer par XMLSAX ?

    Merci d'avance pour vos lumières

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    As-tu essayé en indiquant
    au paramètre case du %XML ?

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Août 2008
    Messages
    123
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 123
    Points : 146
    Points
    146
    Par défaut
    Oui, pardon, j'aurais du préciser le détail du XML-INTO :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    xml-into  user  %XML('/essai/user' :                          
       'doc=file case=any ccsid=best allowmissing=yes allowextra=yes '
       + 'path=users/user');
    Effectivement cette option est nécessaire pour qu'il n'y ait pas de plantage à l'exécution dans le cas ou l'info "is_admin" n'est pas présente.
    Mon soucis est d'arriver à ce que le parser m'informe d'une manière ou une autre que cet élément est présent ou absent...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2013, 12h12
  2. RPG et XML-INTO
    Par Sthot dans le forum AS/400
    Réponses: 3
    Dernier message: 21/02/2011, 13h38
  3. zone > 65535 lors d'un xml-into ds pgm RPG
    Par GeorgesV dans le forum AS/400
    Réponses: 4
    Dernier message: 15/01/2010, 18h14
  4. Problème éléments vides dans du XML sous VB6
    Par matteli dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 21/11/2007, 16h01
  5. [xml + xsl] détection d'élément vide
    Par tut dans le forum XSL/XSLT/XPATH
    Réponses: 20
    Dernier message: 11/05/2007, 10h44

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