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 :

JAXB attribut xsi:nil lors du marshalling


Sujet :

Persistance des données Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut JAXB attribut xsi:nil lors du marshalling
    Salut
    Je travaille avec java 6
    j'ai un petit problème lors du marshalling.En fait ,pour des valeurs non nulles ,tout va bien mais pour des valeurs nulles,mes élément XML sont de la forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ELEMENT xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
    ce que je veut est de me débarrasser de l'attribut xsi ainsi que la namespace.
    Je veut avoir la forme suivante(pour les éléments nulles):
    voici mon code de marshalling:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    StringWriter writer = new StringWriter();
    JAXBContext context = JAXBContext
    				.newInstance(DOCUMENT.class);
    		Marshaller marshaller = context.createMarshaller();
    		marshaller.marshal(document, writer;

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En quoi ces attributs te posent problème?

    Justement mieux vaut les garder, il apportent un supplément d'information qui pourra être utile par la suite (que le contenu était nul au lieu d'être vide).

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut
    Citation Envoyé par sinok Voir le message
    En quoi ces attributs te posent problème?

    Justement mieux vaut les garder, il apportent un supplément d'information qui pourra être utile par la suite (que le contenu était nul au lieu d'être vide).
    merci sinok pour la réponse,mais je ne peut pas les garder .
    Est ce qu'il y a un moyen pour en faire?

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tu construis l'arbre dom de ton document et tu les retire un à un avec une méthode récursive en faisant du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.removeAttribute("xsi:nil")
    et du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.removeAttribute("xmlns:xsi")
    et l'affaire sera torchée.

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    686
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 686
    Par défaut
    Citation Envoyé par sinok Voir le message
    Tu construis l'arbre dom de ton document et tu les retire un à un avec une méthode récursive en faisant du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.removeAttribute("xsi:nil")
    et du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    element.removeAttribute("xmlns:xsi")
    et l'affaire sera torchée.
    merci sinok
    mais il reste une chose:
    je veut que mes elements soient sous la forme:
    et non pas:


  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le xml est un format fait pour contenir des données, pas les présenter.
    Ce que tu cherches à faire n'a absolument aucun sens.

Discussions similaires

  1. [JAXB] Validation lors du marshaller avec JAXB2.0
    Par wulfy dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 19/05/2011, 13h40
  2. 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, 17h07
  3. Axis : ne pas envoyer une balise, au lieu de xsi:nil
    Par MLK jr dans le forum Services Web
    Réponses: 2
    Dernier message: 16/03/2008, 21h09
  4. Réponses: 21
    Dernier message: 16/01/2008, 15h47

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