如何从 ESQL 中的 CLOB return XML

How to return XML from a CLOB in ESQL

我正在 CLOB 列中存储一个 XML 值,称为 PAYLOAD,使用 ABITSTREAM 方法:

DECLARE xmlMsg BLOB ASBITSTREAM(InputRoot.*:SOAP);
        

然后在 INSERT 语句中:

CAST(xmlMsg AS CHAR CCSID InputRoot.Properties.CodedCharSetId)

以后如何从 SELECT 语句中获取结果并将 XML 放入 OutputRoot?

CAST 的结果是包含 XML 文档的字符串。如果你想解析 XML 文档到 OutputRoot 那么你需要这样的东西:

    CREATE LASTCHILD OF OutputRoot DOMAIN('XMLNSC') PARSE(xmlMsg);

请注意,如果您正在解析 CHARACTER 变量,则提供 CCSID 和 ENCODING 的通常要求不适用。

有关带有 PARSE 子句的 CREATE 语句的所有详细信息,请参阅 https://www.ibm.com/docs/en/integration-bus/9.0.0?topic=statements-create-statement