- 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;