java - 将 Document 对象转换为 Byte[]

标签 java xml dom bytearray

我是这样初始化文档对象的:

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();

之后,我通过向 doc 对象插入数据来构建 XML 文件。

最后,我将内容写入计算机上的文件。

我的问题是如何将doc中的内容写入byte[]?*

这是我将内容写入 XML 文件的方式:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File("changeOut.xml"));
// Output to console for testing
// StreamResult result = new StreamResult(System.out);
transformer.transform(source, result);

最佳答案

OutputStream 而不是 File 传递给 StreamResult 构造函数。

 ByteArrayOutputStream bos=new ByteArrayOutputStream();
 StreamResult result=new StreamResult(bos);
 transformer.transform(source, result);
 byte []array=bos.toByteArray();

关于java - 将 Document 对象转换为 Byte[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982753/

相关文章:

java - Valgrind 检测 Java Web 应用程序中的内存泄漏

java - 将 XML 文件导入 Java 处理时出现 NullPointerException

php - 以前的文件值也被附加到在 php 中一一写入的 xml 文件中

c# - 通过 id linq to xml C# 选择一个对象

jquery - 在 html 表单提交上发布有序列表内容的最佳方式是什么?

javascript - 根据内容文本更改背景颜色

javascript - 在附加元素上触发 CSS 过渡

java - JspWriter 和 PrintWriter 有什么区别?

java - 哪个Map提供将对象移动到不同的索引?

java - 指定精度的牛顿法