【问题标题】:Java, Jackson, convert object to xml, problem with invalid charactersJava,Jackson,将对象转换为 xml,无效字符问题
【发布时间】:2019-09-08 15:06:47
【问题描述】:

我正在尝试使用 jackson 将对象转换为 xml

XmlMapper xmlMapper = new XmlMapper();
            xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_DECLARATION, true);
            xmlMapper.writeValue(createFileResult.getFile(), detailsProductDTOs);

但是,由于我的对象在某处包含无效的 xml 字符,因此出现错误。有没有办法告诉杰克逊忽略这种角色?或任何其他解决方案?

Caused by: java.io.IOException: Invalid white space character (0xb) in text to output (in xml 1.1, could output as a character entity)
    at com.ctc.wstx.api.InvalidCharHandler$FailingHandler.convertInvalidChar(InvalidCharHandler.java:56)
    at com.ctc.wstx.sw.XmlWriter.handleInvalidChar(XmlWriter.java:629)
    at com.ctc.wstx.sw.BufferingXmlWriter.writeCharacters(BufferingXmlWriter.java:583)
    at com.ctc.wstx.sw.BaseStreamWriter.writeCharacters(BaseStreamWriter.java:469)
    at com.fasterxml.jackson.dataformat.xml.ser.ToXmlGenerator.writeString(ToXmlGenerator.java:588)

【问题讨论】:

标签: java xml serialization jackson


【解决方案1】:

最后,我自己解决了这个问题。 由于错误表明 xml 1.1 支持这种字符。 因此,只需添加以下配置即可解决问题:

xmlMapper.configure(ToXmlGenerator.Feature.WRITE_XML_1_1, true);

【讨论】:

    猜你喜欢
    • 2019-04-10
    • 2015-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    相关资源
    最近更新 更多