首页javajaxbJava HTML/XML - 如何从jaxb生成的xml中删除standalone =“yes”

Java HTML/XML - 如何从jaxb生成的xml中删除standalone =“yes”

我们想知道如何从jaxb生成的xml中删除standalone =“yes”。
import java.io.ByteArrayOutputStream;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamWriter;

@XmlRootElement
public class Main {

  private JAXBContext jaxbContext;
  private XMLOutputFactory xmlOutputFactory;

  public Main() throws Exception {
    jaxbContext = JAXBContext.newInstance(Main.class);
    xmlOutputFactory = XMLOutputFactory.newFactory();
  }

  public static void main(String[] args) throws Exception {
    System.out.println(new Main().getMessage());
  }

  public final String getMessage() throws Exception {

    Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
    jaxbMarshaller.setProperty("jaxb.encoding", "ISO-8859-1");
    jaxbMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    XMLStreamWriter xmlStreamWriter = xmlOutputFactory.createXMLStreamWriter(
        baos, (String) jaxbMarshaller.getProperty(Marshaller.JAXB_ENCODING));
    xmlStreamWriter.writeStartDocument(
        (String) jaxbMarshaller.getProperty(Marshaller.JAXB_ENCODING), "1.0");
    jaxbMarshaller.marshal(this, xmlStreamWriter);
    xmlStreamWriter.writeEndDocument();
    xmlStreamWriter.close();
    return new String(baos.toByteArray());
  }
}