Как удалить заголовок xml из уверенного ответа - PullRequest
1 голос
/ 24 апреля 2019

Я пытаюсь сделать несколько тестов для службы, которая возвращает xml. Проблема заключается в том, что в ответе появляется и содержимое xml, и заголовок xml с версией.Из-за этого, когда я пытаюсь проверить с помощью Matcher.hasXPath, я получаю неправильный результат, потому что он должен содержать только один корневой узел.

Попытка найти конфигурацию (например: SerenityRest.config (). GetXmlConfig()) но я не знаю, где найти конкретную документацию по моей проблеме.

actor.should(seeThatResponse(response -> response.body(Matchers.hasXPath(path)))
);

Содержимое, которое я хочу удалить:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

1 Ответ

0 голосов
/ 24 апреля 2019

Если ответный XML содержит 2 корневых узла, вы получите org.xml.sax.SAXParseException . Содержимое, которое вы хотите удалить, является прологом XML и обычно игнорируется анализаторами

Но вы всегда можете настроить свой парсер. Вот пример для JAXB:

marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);
...