Удалить часть объявлений XML, кодировка = "UTF-8" standalone = "yes" JAXB - PullRequest
0 голосов
/ 31 мая 2019

Я разделяю входящий XML-файл, используя JAXB. Я знаю, что это похоже на дублирующую тему, однако

Ожидаемое

<?xml version="1.0"?>

Фактический

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

Я попытался использовать JAXB_FRAGMENT, который полностью удаляет первую строку

jaxbMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);

И

jaxbMarshaller.setProperty("com.sun.xml.bind.xmlHeaders", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

с и без Marshaller.JAXB_FRAGMENT

К вашему сведению, я использую StringWriter

        JAXBContext jaxbContext = JAXBContext.newInstance(ExportDocument.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);//

        //jaxbMarshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);

        //jaxbMarshaller.setProperty("com.sun.xml.bind.xmlHeaders", "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>");

        StringWriter sw = new StringWriter();
        jaxbMarshaller.marshal(employee, sw);
        String xmlContent = sw.toString();

        System.out.println(xmlContent);

1 Ответ

0 голосов
/ 31 мая 2019

Я действительно искал ту же самую вещь, и это то, что я нашел Изменение заголовка XML, созданного маршаллером JAXB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...