Я использую Spring Jaxb2Marshaller
для преобразования объектов Java в XML и наоборот. Мне нужно установить динамические значения для xmlns
prefix
и value
- значит, рассматривая примерСгенерируйте префикс динамического пространства имен с помощью Spring Jaxb2Marshaller
xmlns:abc="http://www.example.com"
где prefix
, как abc
и value
в http://www.example.com
должна быть настраиваемой (поставка из файла свойств).
Смотрите пример XML класса Product
под пакетом com.test.abc
<abc:Product
xmlns:abc="http://www.example.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<abc:productId>252</abc:productId>
<abc:productName>XYZ</abc:productName>
</abc:Product>
Чтобы построить этот XML, я использую следующие конфигурации
Spring Jaxb2Marshaller Bean конфигурации
@Bean
public Jaxb2Marshaller getJaxb2Marshaller(){
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setPackagesToScan("com.test.abc", "com.test.xyz");
Map<String,Object> propertiesMap = new HashMap<String,Object>();
propertiesMap.put("jaxb.formatted.output", true);
marshaller.setMarshallerProperties(propertiesMap);
return marshaller;
}
pack-info.java
@javax.xml.bind.annotation.XmlSchema(
namespace = "http://www.example.com",
elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
xmlns = { @javax.xml.bind.annotation.XmlNs(namespaceURI = "http://www.example.com", prefix="abc")})
package com.test.abc;
Вот я жестко закодированные XMLNS префикс и значение. Мне нужно предоставить префикс xmlns и значение из файла свойств. Как я могу это достичь?
Я использую SpringBoot 1.3.3