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

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

Dieser Ausdruck sollte einen VARCHAR-Wert ergeben. Der VARCHAR-Wert sollte gültigen XML-Code enthalten.

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

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

SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL                              |
+-----------------------------------+
Copy

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  |
+--------------------------------------------------+
Copy

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