XMLPARSE

XMLPARSE 函数将参数解析为 XML 文档并返回 XML 值。

读取语法图跳过可视语法图XMLPARSE (DOCUMENTstring-表达式STRIP WHITESPACEPRESERVE WHITESPACE)
文档
指定要解析的字符串表达式必须求值为符合 XML 1.0的格式正确的 XML 文档。
字符串表达式
返回内置字符, Unicode 图形或二进制字符串值的表达式。 如果使用参数标记,那么必须将其显式强制类型转换为其中一种受支持的数据类型。
STRIP WHITESPACE 或 PRESERVE WHITESPACE
指定是否保留输入参数中的空格。 如果两者都未指定,那么缺省值为 STRIP WHITESPACE。
条带空格
指定除非最近包含的元素具有属性 xml:space = 'preserve',否则将除去空格字符。 CDATA 部分中的空格字符也受此选项影响。
保留空格
指定将保留所有空格,即使最近包含的元素具有属性 xml:space = 'default'也是如此。

此函数的结果为 XML。 如果 string-expression 的结果可以为空,那么结果可以为空; 如果 string-expression 的结果为空,那么结果为空值。 结果的 CCSID 由 string-expression确定。 如果 string-expression 的 CCSID 为 65535 ,那么将使用 SQL_XML_DATA_CCSID QAQQINI 选项中的值。

输入字符串可能包含用于标识 XML 文档中字符的编码的 XML 声明。 XML 声明中的编码必须与 string-expression的编码匹配。

示例

示例 1: 将 XML 文档插入到 EMP 表中,并保留原始 XML 文档中的空格。

  INSERT INTO EMP (ID, XVALUE) VALUES(1001,
     XMLPARSE(DOCUMENT '<a xml:space=''preserve''> <b> <c>c</c>b </b> </a>'
              PRESERVE WHITESPACE))
XMLPARSE 将把 insert 语句的值视为等同于以下值:
<a xml:space='preserve'> <b> <c>c</c>b </b> </a>

示例 2: 将 XML 文档插入到 EMP 表中,并除去原始 XML 文档中的空格。

  INSERT INTO EMP (ID, XVALUE) VALUES(1001,
     XMLPARSE(DOCUMENT 
               '<a xml:space=''preserve''> <b xml:space=''default''> <c>c</c>b </b> </a>'
              STRIP WHITESPACE))
XMLPARSE 将把 insert 语句的值视为等同于以下值:
<a xml:space='preserve'> 
<b xml:space='default'><c>c</c>b </b> 
</a>