如果对象中的项太多,则JAXB编组对象会截断结果字符串

时间:2014-01-28 15:46:02

标签: jaxb marshalling truncated

我目前有这个:

JAXBContext jaxbContext = JAXBContext.newInstance(javaObject.getClass());
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        StringWriter stringWriter = new StringWriter();
        jaxbMarshaller.marshal(javaObject, stringWriter);
        String xml = stringWriter.toString();

该对象包含data_object列表。只要data_objects列表少于17个项目,我就会获得完整的xml响应。一旦我有更多,xml被截断。它不会引发错误。 xml字符串最后只有'...'

<DataDetailObject xmlns:xsi="...

如果我使用System.Out而不是stringWriter,我会正确地看到整个xml转换。我错过了什么?我应该使用不同的输出进行编组吗?

1 个答案:

答案 0 :(得分:1)

...可能是您用来内省String的调试器或查看器的行为。如果你把它写到System.out,你应该看到一切正常。