Kundendaten übernehmen |
Top Previous Next |
Beispiele > XML > Kundendaten übernehmen
Eine reale Anwendung zur Auswertung des XML-Baums ist die Überführung von Daten aus Kundenanfragen in eine Insert-Anweisung der Datenbank-Sprache SQL. Als Beispiel dienen die Texte Client1.txt - Client5.txt. Diese Texte sind keine vollständigen XML-Dokumente. Sie enthalten nach einem einleitenden Text, die Kundendaten in einer unvollständigen XML-Form.
Die Startregel Clients springt mit SKIP direkt zum Anfang des XML-Teils:
SKIP "XML-Format:" element[nDoc]
Dann wird die schon bekannte element-Produktion aufgerufen. Schließlich erfolgt die Konstruktion einer SQL-Anweisung in der Funktion: PrintSQLInsert. Mit
out << "INSERT INTO `tt_address` (`uid`, ...
werden die Tabelle und die Felder spezifiziert, die mit Werten gefüllt werden sollen. Die Werte werden dann aus dem Baum in der Reihenfolge ausgelesen, in der sie gebraucht werden. Eine Funktionstabelle ist in diesem einfachen Baum nicht nötig. Z.B.:
pos = xNode.findNextValue("EMAIL"); // email out << pos.firstChild().value() << "\", \"";
So erhält man eine Insert-Anweisung, mit der die Werte in eine Datenbank eingefügt werden können. Z.B.:
INSERT INTO `tt_address` (`uid`, `pid`, `tstamp`, `hidden`, `name`, `title`, `email`, `phone`, `mobile`, `www`, `address`, `company`, `city`, `zip`, `country`, `image`, `fax`, `deleted`, `description`, `module_sys_dmail_category`, `module_sys_dmail_html`) VALUES( "103", "43", "1087224349", "0", " Santa Clause", "", "sc@gift.org", "333 333", "", "", "", "", "North Pole", "", "Greenland", "", "", "", "", "", "1" );
Mit einer N:1 Transformation im Transformations-Manager können die Insert-Anweisungen aller fünf Beispielsdateien in eine Textdatei geschrieben werden, so dass dann alle Datensätze auf einmal in die Datenbank eingefügt werden können.
|
Diese Seite gehört zur TextTransformer Dokumentation |
Home Inhalt English |