2011-06-09 4 views
4

Je me demandais s'il existait un moyen de créer un objet de sorte qu'une liste d'un tel objet n'ait pas besoin d'un élément racine. Par exemple, si je voulais créer un fichier XML commeXML sans élément racine dans JAXB

<Dogs> 
    <Dog>A</Dog> 
    <Dog>B</Dog> 
    <Dog>C</Dog> 
</Dogs> 

je pourrais avoir la class Dogs qui serait l'élément racine et a une List<Dog>. Maintenant supposé que je veux me débarrasser de l'élément d'encapsulation <Dogs>. Alors que la liste des chiens ressemblerait

<Dog>A</Dog> 
<Dog>B</Dog> 
<Dog>C</Dog> 

comment dois-je construire mes cours?

+2

Je suis assez sûr que ce n'est pas valide XML. Ou, pour être plus précis, c'est un fragment XML * valide * mais pas un document XML * valide *. Je ne pense donc pas que JAX-RS le permettra, du moins pas sans faire beaucoup de changements bizarres. – MatrixFrog

Répondre

2

En XML, cela n'est pas possible. La spécification à http://www.w3.org/TR/xml/#NT-document indique clairement qu'un document a un élément racine.

Votre deuxième code XML n'est donc pas un document XML, mais une concaténation de trois documents XML. Mais les analyseurs ne sont généralement pas préparés pour ce type d'entrée.

+0

Mais j'ai vu le fichier xml sans un élément racine encapsulant tous les éléments. Et le paquet 'golang' analyse cela sans problème, mais je voudrais savoir comment le faire sur java –