Я пытаюсь создать простой XML из POJO с помощью JAXB. Вот мой выход XML:JAXB генерировать XML-элемент с именем пакета
<Customer>
<name>abcd</name>
</Customer>
@XmlRootElement
private static class Customer {
@Max(5)
private String name;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
}
Я хочу иметь корневой XML элемент полностью описание т.е. полное имя пакета. Так выход XML должен быть:
<com.some.pkg.Customer>
<name>abcd1231</name>
</com.some.pkg.Customer>
Вот мой Java-код:
Customer s = new Customer();
s.setName("abcd");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
StringWriter sw = new StringWriter();
jaxbMarshaller.marshal(s, sw);
System.out.println(sw.toString());
Является ли это выполнимо с JAXB? Какое свойство я должен настроить для получения такого вывода?
Спасибо за ваш ответ. Какие изменения кода я могу сделать, чтобы получить ответ XML, который вы опубликовали выше. – aanoop
Создайте файл с информацией о пакете, аннотируйте оператор пакета с помощью элемента '@ XmlSchema' и настройте поле xmlns с помощью' @ XmlNs'. – user268396
мой пример XML-вывода: http://xsd2xml.com/. Я просто хотел получить тот же результат с помощью кода Java. – aanoop