处理 XML 消息和位流

本主题帮助您使用以下 ESQL 代码:

ASBITSTREAM 函数

如果在将解析器方式选项设置为 RootBitStream 的情况下对 ASBITSTREAM 函数进行编码,将消息树解析为位流,则正常情况下,结果将是一个从目标元素的子代构建的 XML 文档。此算法与用于生成常规输出位流的算法相同。因为在输出位流中没有包含目标元素,所以必须确保该元素的子代遵循 XML 文档的约束。一个约束是,消息中必须只能有一个主体元素。您可以利用以这种方法获得的格式完好的位流,使用带有 PARSE 子句的 CREATE 语句重新创建原始树。

如果在将解析器方式选项设置为 FoldertBitStream 的情况下对 ASBITSTREAM 函数进行编码,将消息树解析为位流,则正常情况下,所生成的位流将是一个从目标元素及其子代构建的 XML 文档。任何 DocTypeDecl 或 XmlDecl 元素都将被忽略,并且所生成的位流中包含该目标元素本身。这种方式的优点是,目标元素将成为该文档的主体元素,并且该主体元素内可以嵌套多个元素。使用此方法可以获取 XML 解析器所拥有的任意子树的位流描述。您可以利用以这种方法获得的位流,使用带有 PARSE 子句的 CREATE 语句和 FolderBitStream 方式重新创建原始树。

有关 ASBITSTREAM 及其使用示例的更多信息,请参阅 ASBITSTREAM 函数

带有 PARSE 子句的 CREATE 语句

如果在将解析器方式选项设置为 RootBitStream 的情况下,对带有 PARSE 子句的 CREATE 语句进行编码,将位流解析为消息树,则所期望的位流是一个普通 XML 文档。对于该文档中的每个字段都将在该树中创建一个字段。此算法与从输入节点解析位流时使用的算法相同。特别是,将创建名为 XML 的元素作为树的根元素,而且消息中的所有内容将创建为该根元素的子代。

如果在将解析器方式选项设置为 FoldertBitStream 的情况下对带有 PARSE 子句的 CREATE 语句进行编码,将位流解析为消息树,则所期望的位流是一个普通 XML 文档。主体元素外的任何内容(如 XML 声明或文档类型)都将被废弃。解析过程中创建的第一个元素与 XML 文档的主体相对应,从该处之后,解析将按常规继续。

有关 CREATE 及其使用示例的更多信息,请参阅 CREATE 语句

声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac17260_