序列化时是否可以将Jackson XmlMapper配置为使用单引号而不是双引号?

问题描述 投票:0回答:1

[我试图通过一些真正古老的C代码来模仿xml输出,该代码使用单引号而不是XML属性的双引号。杰克逊目前正在输出类似这样的内容:

<test value="foobar"/>

但是我现有的C代码将输出:

<test value='foobar'/>

相反。有没有一种方法可以配置XmlMapper来做到这一点?

xml jackson-dataformat-xml
1个回答
0
投票

我最终追踪了大约十年前的其他类似问题,发现无法重新配置STAX来执行此操作,因为这会破坏XML格式。我最终像这样扩展了XmlMapper:`公共类XmlMapperQuotes扩展了XmlMapper {私有静态最终长serialVersionUID = 1L;

    @Override
    public String writeValueAsString(Object object) throws JsonProcessingException {
        return super.writeValueAsString(object).replace("=\"", "='").replace("\"/", "'/");
    }
}

`希望它不会破碎并炸毁我的脸。我一直在处理用C编写的无法更改的旧式XML解析器。

© www.soinside.com 2019 - 2024. All rights reserved.