Я использую Spring DSL для доступа к веб-серверу, как это,
<route>
<!-- 1 -->
<from uri="...">
<!-- 2 -->
<to uri="...">
<!-- 3 -->
<choice>
<when>
<xpath></xpath>
<to uri="...">
</when>
<when>
<xpath></xpath>
<to uri="...">
</when>
</choice>
</route>
<!-- 1 -->
при достижении конечной точки,
<!-- 2 -->
отправка запроса на веб-сервер, <!-- 3 -->
проверка корневого элемента, полученного в качестве ответа от веб-сервера, на основе этого ответа XML отправит другой конечной точке
Веб-сервер вернет одно из двух сообщений XML, например,
<tns:roottag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xmlns:tns="http://example.com">
<tns:leaftag>
information
</tns:leaftag>
</tns:roottag>
или
<tns:Parenttag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xmlns:tns="http://example.com">
<tns:Childtag>
information
</tns:Childtag>
</tns:parenttag>
после получения XML с веб-сервера необходимо проверить корень на основе того, что с этим полученным XML будет выполняться другая операция,
Обратившись на какой-то сайт, я узнал, что для условия можно использовать XPath
весной DSL,
Мой вопрос:
1. Извлекайте только имя корневого тега из XML-ответа (как показано ниже) и проверяйте с помощью XPath, основываясь на том, что выполняют другую операцию с исходным XML-ответом
.
tns:Parenttag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xmlns:tns="http://example.com" ==> Parenttag
или
tns:roottag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance xmlns:tns="http://example.com" ==> roottag