Java、XML DocumentBuilder在解析时设置编码
我正在尝试将一个树(扩展JTree
)保存为一个XML
文档,该树的结构已经更改
我已经创建了一个新的文档对象,遍历了树以成功地检索内容(包括XML
文档的原始编码),现在有了一个ByteArrayInputStream
,它具有正确编码的树内容(XML
文档)
问题是当我解析ByteArrayInputStream
时,编码会自动更改为UTF-8
(在XML
文档中)
是否有办法防止这种情况,并使用ByteArrayInputStream
中提供的正确编码
还值得补充的是,我已经使用了
transformer.setOutputProperty(OutputKeys.ENCODING, encoding)
方法来检索正确的编码
任何帮助都将不胜感激
# 1 楼答案
# 2 楼答案
经过大量的尝试和错误,我解决了这个问题
我在用
但是改成了
这就解决了我的问题
encoding
是我设置的true
表示是否设置了缩进自我阅读注意事项——我几个小时前就看过javadoc了——如果我读得更仔细就好了
# 3 楼答案
以下是一个更新的答案,因为OutputFormat已被弃用:
第二部分将以字符串形式返回XML文档
# 4 楼答案
这对我来说很有效,非常简单。无需转换器或输出格式化程序: