Почему мой код не возвращает вывод в формате xml - PullRequest
0 голосов
/ 18 апреля 2019

Ниже приведен мой код, который будет возвращать строчку

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