如何从 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。
我正在 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。