Динамическое добавление пространства имен для классов JAXB - PullRequest
0 голосов
/ 13 мая 2019

У меня есть следующий 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...