我使用下面的代码来格式化xml字符串。但是如果它里面有CDATA组件,它就不能工作了,所以它工作得很好。有什么想法吗?
OutputFormat format = new OutputFormat(document);
format.setLineWidth(65);
format.setIndenting(true);
format.setIndent(2);
Writer out = new StringWriter();
XMLSerializer serializer = new XMLSerializer(out, format);
serializer.serialize(document);
return out.toString();编辑:它没有正确地格式化下面的xml:
<named-query name="aaaa">
<query>
<![CDATA[
something
]]>
</query>
</named-query>它打印:
<named-query name="aaaa">
<query><![CDATA[
asasasasasasasa
]]></query>
</named-query>发布于 2010-09-10 20:41:48
在我看来,输出是正确的:
<named-query name="aaaa">
<query><![CDATA[
asasasasasasasa
]]></query>
</named-query>如果产生了下列情况:
<named-query name="aaaa">
<query>
<![CDATA[
asasasasasasasa
]]>
</query>
</named-query>然后将withspace引入CDATA部分,这实际上改变了值。
https://stackoverflow.com/questions/3687741
复制相似问题