# Java > Gnral Java > Persistance des donnes >  [JAXB] La balise <![CDATA[]]>

## CaitSith95

Bonjour,
dans le cadre de mon stage, je dois utiliser JAXB pour gnrer des fichiers xml du type :


```

```

Il faut donc que toutes mes donnes soit encadr par des CDATA.

Or lorsque j'ajoute les CDATA en dur dans le code JAXB remplace les _<![CDATA[truc]]>_ par _&lt;![CDATA[truc]]&gt;_.

J'ai vu sur la faq officiel de JAXB le message suivant :



> Q. How can I cause the Marshaller to generate CDATA blocks?
> 
> A. This functionality is not available from JAXB directly, but you can configure an Apache Xerces-J XMLSerializer to produce CDATA blocks. Please review the JaxbCDATASample.java sample app for more detail.


avec l'exemple ici.

Or il semblerai que toutes les classes de Xerces ncessaire soit deprecated...  ::cry:: 

Du coup impossible de tester. Quelqu'un a t'il dj eu ce prob? svp

----------


## CaitSith95

Voila j'ai fais exactement comme montr dans l'exemple aucun CDATA ne sort.
Voici mon code :



```

```

et dans le main :



```

```

et je souhaiterai obtenir a : 
(en gros tous les champ dans des CDATA)



```

```

Mais aucun CDATA  ::cry::  ::cry::  Quelqu'un peut m'aider svp? La doc JAXB est-elle fausse?

----------


## CaitSith95

a y est ! J'ai trouv le problme !
En fait il ne faut pas oublier de mettre le path URI devant le nom des balises avec '^' entre chaque.
Ainsi pour obtenir :



```

```

Il faut ecrire :



```

```

voila en esprant que cela pourra servir  quelqu'un.
Et vivement que JAXB intgre la gestion des CDATA

----------


## thelvin

Merci pour l'astuce, a pourra servir.




> Et vivement que JAXB intgre la gestion des CDATA


En mme temps, les CDATA servent au confort d'criture, mais ne modifient pas le document. CDATA ou chappement, on est cens n'en avoir rien  f.iche.

Bon, puisque confort d'criture, il existe, c'est sympa d'avoir un moyen de s'en servir. Mais pas prioritaire.

----------


## ganji

quelqu'un connait t'il un moyen de rendre seulement certain balise CDATA

exemple :


```

```

----------


## gloax29

sorti :

&lt;![CDATA[&lt;xxxx&gt;text&lt;/xxxx&gt]];

creer la class :



```

```

puis pour le marshaller un set Property :



```

```

resultat :
<![CDATA[<xxxx>text</xxxx> ]];


voila !

----------


## thelvin

Du coup on se demande l'intrt de passer par JAXB -_-.

La solution de CaitSith95 tait bien meilleure et fonctionnait certainement.

----------


## gloax29

vue la puissance de  JAXB et JAXWS je ne me pose mme pas la question et je n'avais pas qu'un seule lment de type CDATA. cdt

----------


## thelvin

> vue la puissance de  JAXB et JAXWS je ne me pose mme pas la question et je n'avais pas qu'un seule lment de type CDATA. cdt


... Je vois pas o est la puissance dans le fait d'tre oblig d'crire "<![CDATA[" et "]]>" dans absolument tous les textes, mais si quelqu'un en voit une, alors oui, je comprends que cette approche soit intressante.

----------


## gloax29

il semble que cela fait partie de la syntaxe XML, qui lui n'analyse pas ce qu'il y a entre ces balises. et le probleme c'est que le < et > sont interprts en  &lt; et &gt ce qu'il ne faut pas pour cette balise.

----------

