代码之家  ›  专栏  ›  技术社区  ›  Yogesh Pitale

将流结果转换为CLUB: Java

  •  0
  • Yogesh Pitale  · 技术社区  · 6 年前

    我正在从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)对象,以将其存储回数据库。我怎样才能做到这一点?

    0 回复  |  直到 6 年前