VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

XMLPARSE

功能描述

XMLPARSE函数用于从字符数据产生XML类型的值。它可以将包含XML内容的字符串、文本或二进制数据解析为可以在数据库中进行处理和查询的XML类型。

Vastbase在Oracle兼容模式下,XMLPARSE函数支持WELLFORMED参数,该参数在Oracle中用于检查数据是否符合XML语法规则,在Vastbase中,XMLPARSE函数强制要求数据符合XML语法规则,加该参数仅用于语法兼容,不加该参数也会按照同样执行逻辑处理。

注意事项

WELLFORMED参数仅在数据库兼容模式为Oracle时支持(即数据库实例初始化时指定DBCOMPATIBILITY='A')。

语法格式

xmlparse ( { DOCUMENT | CONTENT } value  WELLFORMED)

参数说明

  • DOCUMENT

    DOCUMENT模式将解析整个输入字符串作为一个完整的XML文档。

  • CONTENT

    CONTENT模式将解析输入字符串作为 XML 内容片段,允许在单个字符串中包含多个XML元素或文档。

  • value

    表达式,通常是一个字符串字面量或一个列名,代表要解析的 XML 字符串。

  • WELLFORMED

    该参数在Oracle中用于检查数据是否符合XML语法规则,在Vastbase中,XMLPARSE函数强制要求数据符合XML语法规则,加该参数仅用于语法兼容,不加该参数也会按照同样执行逻辑处理。

示例

SELECT XMLPARSE (CONTENT '<?xml version="1.0"?><book><title>Manual</title><chapter>...</chapter></book>' WELLFORMED );

SELECT XMLPARSE (CONTENT 'abc<foo>bar</foo><bar>foo</bar>' WELLFORMED);

SELECT XMLPARSE(CONTENT '124 <purchaseOrder poNo="12435">
<customerName> Acme Enterprises</customerName>
<itemNo>32987457</itemNo>
</purchaseOrder>'
WELLFORMED) AS PO FROM DUAL;

返回结果为:

                         xmlparse
----------------------------------------------------------
 <book><title>Manual</title><chapter>...</chapter></book>
(1 row)

            xmlparse
---------------------------------
 abc<foo>bar</foo><bar>foo</bar>
(1 row)

                       po
------------------------------------------------
 124 <purchaseOrder poNo="12435">              +
 <customerName> Acme Enterprises</customerName>+
 <itemNo>32987457</itemNo>                     +
 </purchaseOrder>
(1 row)