Ниже приведен мой код, который будет возвращать строчку
Вот весь код, в котором я преобразую XML в объект и объект для сопоставления и сопоставления с XML снова. Но проблема в том, что я не получаю точный XMLформат, который вы можете увидеть ниже в разделе вывода для справки.
public String XMLtoclient() throws Exception {
String str;
JAXBContext jaxbContext = JAXBContext.newInstance(client.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
client client = (client) jaxbUnmarshaller.unmarshal(
new File("C://Users//dasso//Desktop//Migration_XML//New folder/client_configuration_CMG.xml"));
System.out.println(client);
ObjectMapper oMapper = new ObjectMapper();
@SuppressWarnings("unchecked")
Map<String, Object> map = oMapper.convertValue(client, Map.class);
System.out.println("map" + map);
map.replace("client_id", "JHKANNU", "1111");
System.out.println("Updated map" + map);
// converting map to xml
XStream magicApi = new XStream();
magicApi.registerConverter(new MapEntryConverter());
magicApi.alias("root", Map.class);
// Converting String to xml
String xml = magicApi.toXML(map);
System.out.println("Sting XML" + xml);
str = xml;
return str;
}
Здесь я получаю вывод в формате xml и Json
@RequestMapping(value = "/xmltest", method = RequestMethod.GET, produces = { "application/json", "application/xml" })
@ResponseBody
public ResponseEntity<String> XMLtoclient() throws Exception {
System.out.println("Controller");
// I'm returning my xml here
return new ResponseEntity<String>(MigrationXmlService.XMLtoclient(), HttpStatus.OK);
}
Ниже мой ввод, я хочу, чтобы мой вывод былв том же формате ##
В качестве вывода я получаю XML, но я вижу, что <ns2client_config>
в правильном формате, но версия в строковом формате, я хочу, чтобы эта версия также была в формате XML. ##
Ниже мой вывод
<ns2client_config>
<client_id>JHKANNU</client_id>
<client_name>JOHN HANCOCK ANNUITIES</client_name>
<CBU>JHK</CBU>
<MRDClientMasterID>1330</MRDClientMasterID>
<version>
<id>1.0.0</id>
<validFrom>2019-02-07</validFrom>
<validTo/>
<product>
<id>DAILYEMAIL</id>
<resource_revision_id>NA</resource_revision_id>
<index_parameter>
<name>email_address</name>
<UIDisplayName>email address</UIDisplayName>
</index_parameter>
</product>
</version>
</ns2client_config>
Ниже мой вывод
<linked-hash-map>
<client__id>1111</client__id>
<client__name>JOHN HANCOCK ANNUITIES</client__name>
<version>[{id=0, validFrom=2019-02-07, validTo=, product=[{id=DAILYEMAIL, index_parameter=[{name=email_address, isConsumerSearchCriteria=XXXX, isConsumerDisplayValue=false, uidisplayName=first name}, {name=last_name, isConsumerSearchCriteria=false, isConsumerDisplayValue=true, isCSRSearchCriteria=false, isCSRDisplayVal]}]}]</version>
<linked-hash-map>