Kategorien:

Semistrukturierte Datenfunktionen (Extraktion)

XMLGET

Extrahiert ein XML-Elementobjekt (oft auch nur als „Tag“ bezeichnet) aus einem Inhalt des äußeren XML-Elementobjekts anhand des Tagnamens und der Instanznummer des Tag (von 0 beginnend):

  • Wenn ein Argument von XMLGET NULL ist, ist das Ergebnis NULL.

  • Wenn die Tag-Instanz nicht gefunden wird, ist das Ergebnis genauso NULL.

Syntax

XMLGET( <type> , <tag_name> , [ <instance_num> ] )

Nutzungshinweise

  • Nummer_der_Instanz kann weggelassen werden. In diesem Fall wird der Standardwert 0 verwendet.

  • Das Ergebnis von XMLGET ist nicht der Inhalt des Tags, sondern das Tag selbst (ein Objekt):

    • Verwenden Sie GET(tag, '@attrname'), um Attributwerte zu extrahieren.

    • Verwenden Sie zum Extrahieren des Inhalts GET(tag, '$').

    • Verwenden Sie GET(tag, '@'), um den Tag-Namen zu extrahieren.

  • Die Positionen der inneren Tags im Inhalt können mit GET(tag, 'inner-tag-name') abgerufen werden. Wenn der Inhalt mehrere Elemente enthält, wird er als Array dargestellt.

Beispiele

SELECT GET(XMLGET(xml, 'dt', 2), '$') as "Term",
       GET(XMLGET(xml, 'dd', 2), '$') as "Definition"
FROM dictionary;