将 Marshall 结果转化为字符串

新手上路,请多包涵
JAXBContext context = JAXBContext
                    .newInstance(CreateExemptionCertificate.class);
            Marshaller m = context.createMarshaller();
            m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

            m.marshal(cc, System.out);

在上面的代码中,我将结果发送到控制台(我的意思是 XML 正在控制台上打印)。我想把这个 XML 变成一个字符串。我没有得到我应该将哪个参数传递给 marshal 方法以在 String 变量中获取 XML String 而不是在控制台上打印它。任何人有任何想法请分享。

原文由 Sunny Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 925
2 个回答

你可以这样做:

 CreateExemptionCertificate cc = ...;
JAXBContext context = JAXBContext.newInstance(CreateExemptionCertificate.class);
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

StringWriter sw = new StringWriter();
m.marshal(cc, sw);

String result = sw.toString();

原文由 Radouane ROUFID 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题