首页 > 解决方案 > 从 ByteStreamArray 解组时添加了不需要的回车

问题描述

我有以下代码:

String resultXml = queryForXml(input);
Unmarshaller u = readDocument.createUnmarshaller();
            JAXBElement<ReadDocumentByKeyReplyType> root = (JAXBElement<ReadDocumentByKeyReplyType>) u.unmarshal(new ByteArrayInputStream(resultXml.getBytes()));

其中一个 ReadDocumentByKeyReplyType 对象存储一个字符串,但这个字符串基本上是一个 HTML 页面。HTML 元素的结束标记创建一个自然的换行符,解组器然后在解组过程中添加一个回车符。这当然会弄乱 HTML。

<style type=\"text/css\">\n        .active-header-link {\n            background-color: #00604A;\n        }\n\n 

解组后,我可以在字符串上调用 replaceAll("\n", ""),但是这些 HTML 文档将 jpeg 图像嵌入为 base64。这些编码之一总是会有一个'\n',并且replaceAll调用会破坏jpeg。有没有办法告诉解组器不要添加回车?

标签: javaunmarshallingcarriage-return

解决方案


推荐阅读