Формат данных Джексона XML - можно ли анализировать содержимое элемента как необработанную строку? - PullRequest
0 голосов
/ 10 июля 2020

Я пытаюсь написать парсер xml / json с помощью Джексона. Я использую jackson-dataformat- xml, который поддерживает XML. Мне нужно извлечь содержимое одного из элементов XML в виде необработанной строки и поместить его как есть в POJO.

<rootElement>
  <elementNumberOne>...</elementNumberOne>
  <rawElement>rawElementContent<rawElement>
</rootElement>

rawElementContent может быть структурой String или XML. Несмотря на то, что находится внутри rawElement, цель состоит в том, чтобы извлечь его как необработанное значение.

Я пытался использовать @JsoneDeserialize и настраиваемый Deserializer, но я не могу получить исходное сырое xml из него. Единственное, чего я добился, - это использовать XmlMapper внутри настраиваемого десериализатора и использовать:

mapper.writeValueAsString(jsonNode);

Однако это обходной путь, а не решение (получение Xml до Json и снова обратное).

Знаете способ получше? Или с Джексоном это невозможно?

1 Ответ

0 голосов
/ 16 июля 2020

Я связался с группой пользователей jackson и получил ответ от пользователя Tatu, который подтвердил, что в настоящее время это невозможно. Так что, если вы хотите придерживаться Джексона, вы можете go с обходным путем, который я указал в исходном вопросе (mapper.writeValueAsString).

Тату посоветовал мне заполнить билет, следуйте, если вам интересно: https://github.com/FasterXML/jackson-dataformat-xml/issues/417

...