Еще раз спасибо Мартин. Спасибо за вашу поддержку. Ваше решение работает идеально. :)

учил ниже xml, который генерируется с помощью функции xslt json-to-xml (). Мне нужно обновить этот xml, как показано в Result xml, используя данные xpaths. Мне нужно решение в Java или XSLT. Любая помощь приветствуется.

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

ОБНОВЛЕННЫЙ РЕЗУЛЬТАТ 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>

Моя попытка
Я попытался преобразовать этот XML обратно в JSON с помощью функции xslt, а затем использовал com.jayway.jsonpathJayway JsonPath библиотека для разбора / изменения значений json по заданным xpaths. И, наконец, снова изменил этот json на xml, используя функцию xslt. Это сработало для меня как шарм! Но после использования этой библиотеки я столкнулся с проблемами в другой части моего приложения :(. Все почтовые запросы с телом запросов json начали выдавать ошибку 400. Ошибка была «Ошибка 400 Запрос, отправленный клиентом, был синтаксически некорректным». Я не мог Не могу разобраться в проблеме, и, возможно, это связано с различными конфликтами в jar-файлах. Поэтому я пытаюсь найти другой способ работы. Любая другая библиотека, такая как Jayway JsonPath? Или какое-либо другое решение / предложение поможет во многом.

Ответы на вопрос(1)

Ваш ответ на вопрос