Cómo editar xml específico usando xpath

Tengo debajo de xml que se genera utilizando la función xslt json-to-xml (). Necesito actualizar este xml como se muestra en Result xml usando xpaths dados. Necesito la solución en java o xslt. Cualquier ayuda sería muy apreciada.

XML

 <?xml version="1.0" encoding="UTF-8"?>
    <map xmlns="http://www.w3.org/2005/xpath-functions">
        <map key="Response">
            <map key="Headers">
                <string key="server">Lisa</string>
                <string key="Status-Code">200</string>
                <string key="Content-Type">applicaton/json</string>
            </map>
            <map key="Payload">
                <map key="root">
                    <array key="cars">
                        <map>
                            <string key="company">ccc</string>
                            <string key="model">mmm</string>
                        </map>
                        <map>
                            <string key="strength">666</string>
                            <string key="Capacity">333</string>
                        </map>
                    </array>
                    <array key="bikes">
                        <map>
                            <string key="company">abc</string>
                            <string key="model">2018</string>
                        </map>
                    </array>
                </map>
            </map>
        </map>
    </map>

XPATHS

/Response/Payload/root/cars[2]/strength=999
/Response/Payload/root/bikes/model=2019
/Response/Headers/server=WebSphere
/Response/Headers/Content-Type=text
/Response/Payload/root/cars[2]/Capacity=555
/Response/Payload/root/cars[1]/model=mmm1
/Response/Payload/root/bikes/company=xyz
/Response/Payload/root/cars[1]/company=ccc1
/Response/Headers/Status-Code=400

RESULTADO ACTUALIZADO XML

<map xmlns="http://www.w3.org/2005/xpath-functions">
    <map key="Response">
        <map key="Headers">
            <string key="server">WebSphere</string>
            <string key="Status-Code">400</string>
            <string key="Content-Type">text</string>
        </map>
        <map key="Payload">
            <map key="root">
                <array key="cars">
                    <map>
                        <string key="company">ccc1</string>
                        <string key="model">mmm1</string>
                    </map>
                    <map>
                        <string key="strength">999</string>
                        <string key="Capacity">555</string>
                    </map>
                </array>
                <array key="bikes">
                    <map>
                        <string key="company">xyz</string>
                        <string key="model">2019</string>
                    </map>
                </array>
            </map>
        </map>
    </map>
</map>

Mi intento
Intenté convertir este xml de nuevo a json usando la función xslt y luego usé com.jayway.jsonpathJayway JsonPath biblioteca para analizar / cambiar los valores de json en xpaths dados. Y finalmente finalmente cambió ese json nuevamente a xml usando la función xslt. Esto funcionó para mí como encanto !! Pero después de usar esta biblioteca, comencé a enfrentar problemas en mi otra parte de la aplicación :(. Toda la solicitud de publicación con el cuerpo de solicitud json comenzó a dar un error 400. El error fue "Error 400 La solicitud enviada por el cliente era sintácticamente incorrecta". No pude No descubra el problema y puede deberse a diferentes conflictos de jar. Así que estoy intentando otra forma de trabajar. ¿Alguna otra biblioteca como Jayway JsonPath? O cualquier otra solución / sugerencia ayudará mucho.

Respuestas a la pregunta(1)

Su respuesta a la pregunta