- 类别:
半结构化和结构化数据函数 (解析)
CHECK_XML¶
检查 XML 文档的有效性。如果输入字符串是 NULL 或有效的 XML 文档,则输出为 NULL。如果 XML 出现解析错误,输出字符串将包含错误消息。
- 另请参阅:
语法¶
CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
CHECK_XML( STR => <string_containing_xml>
[ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
实参¶
必填:
string_containing_xml
. OR .STR => string_containing_xml
此表达式的计算结果应为 VARCHAR。VARCHAR 应包含有效的 XML。
可选:
disable_auto_convert
. OR .DISABLE_AUTO_CONVERT => disable_auto_convert
指定传递给 PARSE_XML 函数的相同值。
默认:
FALSE
返回¶
返回值的数据类型是 VARCHAR。
使用说明¶
必须按名称或位置指定所有实参。不能按名称指定某些实参,也不能按位置指定其他实参。
按名称指定实参时,不能在实参名称前后使用双引号。
示例¶
当 XML 有效时,显示函数的输出¶
SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL |
+-----------------------------------+
当 XML 无效时,显示函数的输出¶
SELECT CHECK_XML('<name> Invalid </WRONG_CLOSING_TAG>');
+--------------------------------------------------+
| CHECK_XML('<NAME> INVALID </WRONG_CLOSING_TAG>') |
|--------------------------------------------------|
| no opening tag for </WRONG_CLOSING_TAG>, pos 35 |
+--------------------------------------------------+
查找带有无效 XML 的记录¶
SELECT xml_str, CHECK_XML(xml_str)
FROM my_table
WHERE CHECK_XML(xml_str) IS NOT NULL;