[我试图通过一些真正古老的C代码来模仿xml输出,该代码使用单引号而不是XML属性的双引号。杰克逊目前正在输出类似这样的内容:
<test value="foobar"/>
但是我现有的C代码将输出:
<test value='foobar'/>
相反。有没有一种方法可以配置XmlMapper来做到这一点?
我最终追踪了大约十年前的其他类似问题,发现无法重新配置STAX来执行此操作,因为这会破坏XML格式。我最终像这样扩展了XmlMapper:`公共类XmlMapperQuotes扩展了XmlMapper {私有静态最终长serialVersionUID = 1L;
@Override
public String writeValueAsString(Object object) throws JsonProcessingException {
return super.writeValueAsString(object).replace("=\"", "='").replace("\"/", "'/");
}
}
`希望它不会破碎并炸毁我的脸。我一直在处理用C编写的无法更改的旧式XML解析器。