我正在从oracle中读取一个clob列,其内容是xml文件。
<msa:data>
<msa:supplier_code>TP-0000005098</msa:supplier_code>
<msa:supplier_name>XYZ</msa:supplier_name>
</msa:data>
现在我的目标是
供应商名称
元素来表示ABC并将该XML存储回数据库。
为了达到同样的目的,我编写了以下代码。
Clob xmlClob = SupplierDao.getByCode("TP-0000005098");
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(xmlClob.getAsciiStream());
NodeList dataList = doc.getElementsByTagName("msa:supplier_name");
dataList.item(0).setTextContent("ABC");
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
Source source = new DOMSource(doc);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
Result result = new StreamResult(outputStream);
transformer.transform(source, result);
现在,我想将StreamResult再次转换为Clob(java. sql .Culb)对象,以将其存储回数据库。我怎样才能做到这一点?