- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Analyse)
CHECK_XML¶
Überprüft die Gültigkeit eines XML-Dokuments. Wenn die Eingabezeichenfolge NULL oder ein gültiges XML-Dokument ist, lautet die Ausgabe NULL. Bei einem XML-Analysefehler enthält die Ausgabezeichenfolge eine Fehlermeldung.
Syntax¶
CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
CHECK_XML( STR => <string_containing_xml>
[ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
Argumente¶
Erforderlich:
string_containing_xml
. OR .STR => string_containing_xml
Geben Sie einen Ausdruck an, der zu einem VARCHAR-Wert ausgewertet wird, der eine gültige XML enthält.
Optional:
disable_auto_convert
. OR .DISABLE_AUTO_CONVERT => disable_auto_convert
Geben Sie denselben Wert an, den Sie an die Funktion PARSE_XML übergeben.
Standard:
FALSE
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist VARCHAR.
Nutzungshinweise¶
Sie müssen alle Argumente entweder über den Namen oder über die Position angeben. Sie können nicht einige der Argumente über den Namen und andere Argumente über die Position angeben.
Wenn Sie ein Argument über den Namen angeben, können Sie den Argumentnamen nicht in doppelten Anführungszeichen einschließen.
Beispiele¶
Die folgenden Beispiele verwenden die Funktion CHECK_XML.
Anzeigen der Ausgabe der Funktion, wenn XML gültig ist¶
SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL |
+-----------------------------------+
Anzeigen der Ausgabe der Funktion, wenn XML ungültig ist¶
SELECT CHECK_XML('<name> Invalid </WRONG_CLOSING_TAG>');
+--------------------------------------------------+
| CHECK_XML('<NAME> INVALID </WRONG_CLOSING_TAG>') |
|--------------------------------------------------|
| no opening tag for </WRONG_CLOSING_TAG>, pos 35 |
+--------------------------------------------------+
Suchen von Datensätzen mit ungültiger XML¶
SELECT xml_str, CHECK_XML(xml_str)
FROM my_table
WHERE CHECK_XML(xml_str) IS NOT NULL;