Java: Mobiliser Objet — Retrait supplémentaire ns2 annotation xml

Je suis en train de marshall données au sein d'un objet dans un fichier xml basé sur un schéma défini. Cependant, quand j'ai imprimer le fichier xml, j'obtiens supplémentaire des annotations sur les balises xml. Est-il possible de se débarrasser de la plus-annotation de l'espace de noms (c'est à dire ns2)

Ceci est un exemple de xml que je reçois de la sérialisation.

<?xml version="1.0" encoding="UTF-8" standalone="yes">
<root xmlns:ns2="http://www.something.com/something">
    <ns2:food>steak</ns2:food>
    <ns2:beverage>water</ns2:beverage>
</root>

Ce que je veux, c'est quelque chose comme ceci:

<?xml version="1.0" encoding="UTF-8" standalone="yes">
<root xmlns="http://www.something.com/something">
    <food>steak</food>
    <beverage>water</beverage>
</root>

C'est ce que mon code Java est en train de faire:

            JAXBContext context = JAXBContext.newInstance("com.schema");
            JAXBElement<FoodSchema> element = new JAXBElement<FoodSchema>
                (new QName("FoodSchema"), Food.class, foodSchema);
            Marshaller marshaller = context.createMarshaller();
            OutputStream os = new FileOutputStream(object.getFilePath());
            marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); 
            marshaller.marshal(element, os);

Toute aide est très appréciée! Merci!

J'ai été capable de le faire avec xslt décrit ici: stackoverflow.com/questions/25033285/...

OriginalL'auteur user459811 | 2011-08-10