JAXB(remover ou mudar propriedade standalone)

3 respostas
L

Boa tarde

Estou finalizando a construção de um XML mas parece que a propriedade standalone (abaix) que o JAXB gera como default=“yes”, não entendo bem porque , não está funcionando para o site do governo onde devo enviar o arquivo XML.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>

tenho algumas perguntas:
Como mudar para =“no” ?
Como retirar apenas o atributo standalone=“yes” pois até agora só consigui tirar tudo (é tudo ou nada…Aff!)
usando o comando m2.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE); //o cabeçalho some

em meu código passo um objeto para o marshaller e escrevo direto no arquivo…

m2.marshal(arquivo_resposta, new FileOutputStream(f));

Funciona perfeitamente e considero o JAXB2 poderoso e eficaz, mas o atributo default standalone eu não consigo mudar e nem
retirar…

Gostaria de ajuda…

Muito Obrigada.

Alguém tem alguma idéia?

3 Respostas

L

Alguém tem uma idéia?
Ninguém?

L

Alguém , por favor?

Não sei como tirar esta propriedade.

L

Olá , obrigada as pessoas que pelo menos leram minha pergunta…

Resolvi da seguinte forma:

Retirei a notação de cabeçalho XML com o comando abaixo:

FileWriter f = new FileWriter(drivedir + datadir + "/" + "PXXX501" + dataarquivo + ".XML",true );
                                                
Marshaller m2 = context.createMarshaller();
//Retira todo cabeçalho XML
m2.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);

abri o arquivo para append e escrevi o cabeçalho como queria…

f.write("<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>"); m2.marshal(arquivo_resposta, new BufferedWriter (f));

Criado 18 de setembro de 2009
Ultima resposta 21 de set. de 2009
Respostas 3
Participantes 1