(Де) сериализовать смешанный контент с помощью jackson xml?

Со всеми поисками, которые я сделал, я понимаю, что сериализация/десериализация xml с jackson, который имеет смешанный контент, проблематична. Кто-нибудь знает способ обработки следующего xml с помощью Java?

<xmlsample>
    <title>Yada yada yada <a href=\"component:tcm:757-228001\" id=\"Link_1492103133595\" title=\"yada\" name=\"Link_1492103133595\" xmlns=\"xhtml\">yada</a> yada</title>
    <link>test</link>
</xmlsample>

Я использую следующий POJO:

@JacksonXmlRootElement(localName="xmlsample")
public class XmlSample{

    private String title;
    private String link;

    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getLink() {
        return link;
    }
    public void setLink(String link) {
        this.link = link;
    }
}

Если узел имеет смешанное содержимое, как в приведенном выше примере, я получу следующую ошибку:

java.io.IOException: Expected END_ELEMENT, got event of type 1

Если узел имеет обычный текст, то десериализация работает.

Я пытался использовать JsonNode, TextNode, ObjectNode, Object вместо String для типа данных. Я пробовал пользовательский сериализатор и десериализатор, но ошибка сохраняется. На самом деле обработка не доходит до пользовательского десериализатора, если в узле есть html.

Этот xml исходит из сторонней системы (SDL Tridion), которую я не могу изменить.

Любая помощь будет принята с благодарностью!

РЕДАКТИРОВАТЬ: мне нужно уточнить, что узел может содержать разметку или простой текст, поэтому я не могу создать POJO, представляющий разметку, как вы видите в приведенном выше xml. И разметка может быть значительно сложнее, чем в приведенном выше примере. Вот почему я просто пытаюсь заставить его быть строкой. Мне не нужно манипулировать им, мне просто нужно сохранить его в POJO, чтобы его можно было вернуть в базу данных без изменений.


person ShinyNewUser    schedule 20.04.2017    source источник
comment
Вы нашли решение своей проблемы? Мы решаем ту же проблему и пробовали все варианты, которые вы упомянули, но они все еще не работают. Я думаю о переходе на jaxb для де/сериализации, потому что jackson, похоже, не охватывает все случаи, которые не отображаются в json (атрибуты/несколько последовательных узлов с одним и тем же именем).   -  person Timi    schedule 26.10.2017
comment
Пока не нашел решения. В отчетах об ошибках в jackson github есть открытые проблемы для этого, но нет решения.   -  person ShinyNewUser    schedule 13.11.2017