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.

Siehe auch:

PARSE_XML, TO_XML, XMLGET

Syntax

CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
Copy
CHECK_XML( STR => <string_containing_xml>
  [ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
Copy

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>');
Copy
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL                              |
+-----------------------------------+

Anzeigen der Ausgabe der Funktion, wenn XML ungültig ist

SELECT CHECK_XML('<name> Invalid </WRONG_CLOSING_TAG>');
Copy
+--------------------------------------------------+
| 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;
Copy