У меня есть следующий xml:
<?xml version="1.0" encoding="UTF-8"?>
<roots xmlns="http://www.test.com/test/rest/v1">
<root>
<name>james</name>
</root>
</roots>
Я хочу сгенерировать классы JAXB для вышеупомянутого xml и добавить пространство имен (xmlns="http://www.test.com/test/rest/v1"
) динамически во время маршалинга. Я мог генерировать классы JAXB, но не мог динамически добавлять пространство имен. Я попытался с помощью следующего кода, но он не работает. Есть идеи, как это сделать?
JAXBContext jaxbContext = JAXBContext.newInstance("com.test");
XMLStreamWriter xmlStreamWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(inputSchema);
xmlStreamWriter.setPrefix("xmlns", "http://www.test.com/test/rest/v1");
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.marshal(roots, xmlStreamWriter);