Mic*_*l A 13 java xml dom bytearray
我是这样的init对象:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
Run Code Online (Sandbox Code Playgroud)
之后,我通过将数据插入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);
Run Code Online (Sandbox Code Playgroud)
ada*_*ost 25
将OutputStream而不是File传递给StreamResult构造函数.
ByteArrayOutputStream bos=new ByteArrayOutputStream();
StreamResult result=new StreamResult(bos);
transformer.transform(source, result);
byte []array=bos.toByteArray();
Run Code Online (Sandbox Code Playgroud)
这项工作对我来说:
public byte[] documentToByte(Document document)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
org.apache.xml.security.utils.XMLUtils.outputDOM(document, baos, true);
return baos.toByteArray();
}
Run Code Online (Sandbox Code Playgroud)