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)