我尝试序列化包含XML String作为参数的对象。我想用不同的行打印XML以使其可读。
我有类似这样的内容,其中包含所有信息,但未格式化:
lwtrade: "<?xml version=\"1.0\" encoding=\"UTF-8\<n k=\"Country\" t=\"/LW_Country\">Finland</n>\r\n <n k=\"Currency\"\
\ t=\"/LW_Currency\">EUR</n>\r\n <n k=\"Quantity\" t=\"d\">45445.0</n>\r\n </n>\r\n"
然后我尝试得到这样的东西:
lwtrade: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<n k=\"Country\" t=\"/LW_Country\">Finland</n>
<n k=\"Currency\"\\ t=\"/LW_Currency\">EUR</n>
<n k=\"Quantity\" t=\"d\">45445.0</n>
</n>"
我尝试使用PrettyPrinter替换\ r \ n到有效的笔架,但是我不确定它是如何工作的。我见过一些关于Array的示例,但没有看到String或XML格式的示例。
这是我的序列化类,从JsonSerializer扩展:
public void serialize(LWTrade value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
Writer stringWriter = new StringWriter();
XMLSerialiser xmlSerialiser = new XMLSerialiser();
try {
xmlSerialiser.serialise(value, stringWriter);
} catch (Exception e) {
logger.error("Exception caught", e);
}
gen.writeObject(stringWriter.toString());
}