Тег заголовка в XML с использованием JAXB - PullRequest
19 голосов
/ 18 января 2012

Прямо сейчас я получаю это как вывод XML от моего JAXB Marshaller

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

Но я хочу, чтобы мой корневой элемент был:

<create xmlns="http://ws.abc.com" xmlns:doc="http://ws.abc.com">

Нужно ли изменить это, используяпарсеры, или есть какие-либо аннотации доступны.

Ответы [ 2 ]

36 голосов
/ 18 января 2012

Вы можете установить следующее свойство на Marshaller для удаления заголовка:

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, true);

Для получения дополнительной информации

1 голос
/ 18 января 2012

Я использовал Трансформатор в прошлом. Вы хотели бы что-то вроде следующего примера кода:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
StreamResult transformedDoc = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(content); // Where content is a org.w3c.dom.Document object.

transformer.transform(source, transformedDoc);

Так что, возможно, сделайте свой маршаллинг, а затем обработайте. Не уверен, что это лучший подход, но он сработает.

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