Read from XML

Der „Read from XML“-Schritt liest eine XML-Datei in einen Auftrag oder Unterfluss ein. Sie definiert den Dateipfad und das Datenformat, einschließlich dem XML-Schema und den Details der Datenelemente.

Einfache XML-Elemente werden in flache Felder umgewandelt und an den nächsten Schritt weitergeleitet. Einfache XML-Daten beinhalten Datensätze bestehend aus XML-Elementen, die nur Daten und keine untergeordneten Elemente enthalten. Dies ist beispielsweise eine einfache XML-Datendatei:

<customers>
    <customer>
        <name>Sam</name>
        <gender>M</gender>
        <age>43</age>
        <country>United States</country>
    </customer>
    <customer>
        <name>Jeff</name>
        <gender>M</gender>
        <age>32</age>
        <country>Canada</country>
    </customer>
    <customer>
        <name>Mary</name>
        <gender>F</gender>
        <age>61</age>
        <country>Australia</country>
    </customer>
</customers>

Beachten Sie, dass in diesem Beispiel jeder Datensatz einfache XML-Elemente wie <name>, <gender>,<age> und <country> enthält. Keines der Elemente enthält untergeordnete Elemente.

Der „Read from XML“-Schritt flacht automatisch einfache Daten wie diese ab, da die meisten Schritte Daten in einem flachen Format erfordern. Wenn Sie die hierarchische Struktur beibehalten möchten, verwenden Sie nach „Read from XML“ den Aggregator-Schritt, um die Daten in hierarchische Daten umzuwandeln.

Komplexe XML-Elemente behalten ihr hierarchisches Format bei und werden als Listenfeld weitergeleitet. Da viele Schritte ein flaches Datenformat erfordern, müssen Sie eventuell komplexe XML-Elemente abflachen, um die Daten für die Downstream-Schritte nutzbar zu machen. Weitere Informationen finden Sie unter Abflachen von komplexen XML-Elementen.

Anmerkung: „Read from XML“ unterstützt nicht die XML-Typen xs:anyType undxs:anySimpleType.

Registerkarte „Dateieigenschaften“

Tabelle 1. Registerkarte „Dateieigenschaften“

Name der Option

Beschreibung

   

Schemadatei

Gibt den Pfad zu einer XSD-Schemadatei an. Klicken Sie auf die Ellipsenschaltfläche (...), um die gewünschte Datei zu lokalisieren. Beachten Sie, dass sich die Schemadatei auf dem Server befinden muss, um die Datendatei im Vergleich zum Schema zu überprüfen. Falls sich die Schemadatei nicht auf dem Server befindet, wird die Überprüfung deaktiviert.

Alternativ können Sie anstelle einer XSD-Datei eine XML-Datei angeben. Wenn Sie eine XML-Datei angeben, wird das Schema auf Basis der Struktur der XML-Datei abgeleitet. Die Verwendung einer XML-Datei statt einer XSD-Datei hat die folgenden Einschränkungen:

  • Die XML-Datei darf nicht größer als 1 MB sein. Wenn die XML-Datei größer ist, versuchen Sie, einige der Daten zu entfernen und trotzdem die Struktur der XML beizubehalten.
  • Die Datendatei wird nicht anhand des abgeleiteten Schemas überprüft.
Anmerkung: Falls der Spectrum™ Technology Platform-Server unter Unix oder Linux ausgeführt wird, berücksichtigen Sie, dass bei Dateinamen und Pfaden auf diesen Plattformen die Groß-/Kleinschreibung beachtet wird.
   

Datendatei

Gibt den Pfad zur XML-Datendatei an. Klicken Sie auf die Ellipsenschaltfläche (...), um die gewünschte Datei zu lokalisieren.

Anmerkung: Falls der Spectrum™ Technology Platform-Server unter Unix oder Linux ausgeführt wird, berücksichtigen Sie, dass bei Dateinamen und Pfaden auf diesen Plattformen die Groß-/Kleinschreibung beachtet wird.
   

Vorschau

Zeigt eine Vorschau des Schemas oder der XML-Datei an. Wenn Sie eine XSD-Datei angeben, spiegelt die Baumstruktur die ausgewählte XSD-Datei wider. Sobald Sie eine Schemadatei und eine Datendatei angegeben haben, können Sie auf die fett gedruckten Schemaelemente klicken, um eine Vorschau der Daten anzuzeigen, die das Element enthält.

   

Registerkarte „Felder“

Tabelle 2. Registerkarte „Felder“

Name der Option

Beschreibung

Filter

Filtert die Liste der Elemente und Attribute, um das Durchsuchen zu vereinfachen. Der Filter hat keinen Einfluss darauf, welche Felder in die Ausgabe einbezogen werden. Es wird nur die Liste der Elemente und Attribute gefiltert, um das Durchsuchen zu vereinfachen.

XPath

Die XPath-Spalte enthält den XPath-Ausdruck für das Element oder Attribut. Es wird nur zur Information angezeigt. Weitere Informationen zu XPath finden Sie unter www.w3schools.com/xpath/.

Feld

Der Name, der im Datenfluss für das Element oder Attribut verwendet wird. Doppelklicken Sie zum Ändern des Feldnamens auf den Namen und ändern Sie ihn wie gewünscht.

Typ

Der Datentyp für das Feld.

bigdecimal
Ein numerischer Datentyp, der eine Genauigkeit von 38 Dezimalstellen unterstützt. Verwenden Sie diesen Datentyp für Daten in mathematischen Berechnungen, die einen hohen Grad von Genauigkeit erfordern, speziell solche mit Finanzdaten. Der Datentyp „bigdecimal“ unterstützt genauere Berechnungen als der Datentyp „double“.
boolean
Ein logischer Typ mit zwei Werten: wahr und falsch.
date
Ein Datentyp, der einen Monat, einen Tag und ein Jahr enthält. Datumswerte müssen das Format yyyy-MM-dd aufweisen. Beispiel: 2012-01-30.
datetime
Ein Datentyp, der Tag, Monat, Jahr und Stunden, Minuten und Sekunden enthält. DateTime muss das Format yyyy-MM-dd'T'HH:mm:ss aufweisen. Beispiel: 2012-01-30T06:15:30
double
Ein numerischer Datentyp, der sowohl negative als auch positive Zahlen mit doppelter Genauigkeit zwischen 2-1074 und (2-2-52)×21023 enthält. In der E-Notation liegt der Wertebereich bei -1,79769313486232E+308 bis 1,79769313486232E+308.
float
Ein numerischer Datentyp, der sowohl negative als auch positive Zahlen mit einzelner Genauigkeit zwischen 2-149 und (2-223)×2127 enthält. In der E-Notation liegt der Wertebereich bei -3,402823E+38 bis 3,402823E+38.
integer
Ein numerischer Datentyp, der sowohl positive als auch negative ganze Zahlen zwischen -231 (-2,147,483,648) und 231-1 (2,147,483,647) enthält.
list
Streng genommen ist eine Liste kein Datentyp. Wenn jedoch ein Feld hierarchische Daten enthält, wird es als „list“-Feld behandelt. In Spectrum™ Technology Platform ist eine Liste eine Sammlung von Daten und besteht aus mehreren Werten. So kann etwa ein Feld „Name“ eine Liste von Namenswerten enthalten. Das kann in einer XML-Struktur wie folgt aussehen:
<Names>
    <Name>John Smith</Name>
    <Name>Ann Fowler</Name>
</Names>
Beachten Sie, dass sich der Spectrum™ Technology Platform-Datentyp „list“ vom Datentyp „list“ des XML-Schemas unterscheidet. Der XML-Datentyp „list“ ist ein einfacher Datentyp, der aus mehreren Werten besteht, während der Spectrum™ Technology Platform-Datentyp „list“ einem komplexen XML-Datentyp ähnelt.
long
Ein numerischer Datentyp, der sowohl positive als auch negative ganze Zahlen zwischen -263 (-9,223,372,036,854,775,808) und 263-1 (9,223,372,036,854,775,807) enthält.
string
Eine Folge von Zeichen.
time
Ein Datentyp, der die Tageszeit enthält. „Time“ muss das Format HH:mm:ss aufweisen. Beispiel: 21:15:59.

Einschließen

Gibt an, ob dieses Feld im Datenfluss verfügbar gemacht oder davon ausgeschlossen werden soll.

Beispiel: einfache XML-Datei

In diesem Beispiel möchten Sie die folgende Datei in einen Datenfluss einlesen:

<addresses>
    <address>
        <addressline1>One Global View</addressline1>
        <city>Troy</city>
        <state>NY</state>
        <postalcode>12128</postalcode>
    </address>
    <address>
        <addressline1>1825B Kramer Lane</addressline1>
        <city>Austin</city>
        <state>TX</state>
        <postalcode>78758</postalcode>
    </address>
</addresses>

In diesem Beispiel können Sie auswählen, <addressline1>,<city>, <state> und <postalcode> einzubeziehen. Dies führt zur Erstellung eines Datensatzes für jedes <address>-Element, da <address> das allgemein übergeordnete Element für <addressline1>,<city>, <state> und<postalcode> ist.