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

Persistance des données Java Discussion :

[Castor] Unmarshalling avec Castor


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 8
    Par défaut [Castor] Unmarshalling avec Castor
    Bonjour,

    J'ai un petit problème d'unmarshalling avec Castor.

    J'explique.

    j'ai un fichier XML tout simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?xml version="1.0"?>
    <Message xmlns="http://www.test.org/reference">
       <Texte id="1">Texte de test</Texte>
    </Message>
    mon mapping

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
    <mapping>
       <class name="test.Message">
          <map-to xml="Message"/>
     
          <field name="id" type="string">
             <bind-xml name="id" node="attribut" />
          </field>
          <field name="Texte" type="string">
             <bind-xml name="Texte" node="element" />
          </field>
       </class>
    </mapping>
    J'arrive sans problème à récupérer l'attribut id mais pas du tout à récupérer le contenu de la balise Texte, il m'affiche null.

    Par contre, quand je supprime le namespace xml de la balise Message de mon fichier XML, tout marche bien.

    Y'a t'il une solution pour que je puisse garder mon namespace et puisse unmarshaller tranquillement?

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 586
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 586
    Par défaut
    Il faudrait indiquer quelque part dans le mapping que Texte est dans le namespace "http://www.test.org/reference" sinon il ne va pas le deviner.

    Je m'y connais pas trop en Castor, mais si je lis la doc correctement, ce serait un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0"?>
    <mapping xmlns:test="http://www.test.org/reference">
       <class name="test.Message">
          <map-to xml="Message"/>
     
          <field name="id" type="string">
             <bind-xml name="id" node="attribut" />
          </field>
          <field name="Texte" type="string">
             <bind-xml name="test:Texte" node="element" />
          </field>
       </class>
    </mapping>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. JAXB,unmarshalling avec un parseur dom
    Par riadhhwajdii dans le forum Persistance des données
    Réponses: 3
    Dernier message: 03/08/2010, 17h03
  2. Probleme de génération avec Castor d'une balise vide
    Par sebgre38 dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 30/10/2009, 13h53
  3. [Castor] affichage format xml avec castor
    Par air75 dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 09/06/2009, 19h15
  4. [Castor] databinding avec Castor XML
    Par mbinte dans le forum Persistance des données
    Réponses: 1
    Dernier message: 15/09/2008, 17h17
  5. Erreur lors du marshalling d'une grappe d'objet avec Castor XML
    Par mbinte dans le forum Persistance des données
    Réponses: 2
    Dernier message: 29/08/2008, 18h07

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