![]() |
XML in Master-Detail Tabelle
Hallo :hi:
Also, ich komme bei folgendem Problem einfach zu keinem Ergebnis: Ich möchte die Daten aus dem XML File (s. Anhang) in eine MySQL Tabelle bringen. Dazu habe ich bisher die Info bekommen, das ich das mit einer Master-Detail Tabelle machen muss! Allerdings habe ich noch nie mit Master-Detail Tabellen gearbeitet. Für die Verbindung nehme ich die ZEOS komponenten. Kann mir mal jemand genauer erklären wie ich das machen muss? Aus dem XML File brauche ich folgende Daten: >>>Alle Daten einer <order-section> entsprechen einem Kundenauftrag!!<<< Folgende Daten sind für mich wichtig: Dealer Envelope Linecode >> wenn vorhanden article qty Gruß Frank |
Re: XML in Master-Detail Tabelle
*malnachvorneschiebt*
|
Re: XML in Master-Detail Tabelle
Da eine XML-Datei nicht mehr ist, als eine simple Textdatei, wäre es eventuell besser, diese auch so zu behandeln. Ich meine jetzt String-Operationen zu verwenden. :P Wie es aussieht soll das ja wohl eine einmalige Angelegenheit sein, bzw. zumindest eine gleichbleibende.
|
Re: XML in Master-Detail Tabelle
Hallo Hansa
Erst mal Danke für deine Antwort. Ja es bleibt eine "gleichbleibende" Angelegenheit. Allerdings nicht einmalig. Es kommen pro Tag ca. 3.000 solcher XML Dateien zusammen die in die DB importiert werden müssen. Mit String-Operationen kenne ich mich leider nicht aus, da ich noch nicht lange mit Delphi arbeite. Ich wäre für genauere informationen oder Beispiele dankbar... Gruß Frank |
Re: XML in Master-Detail Tabelle
Gleichbleibend ? Aha, das ist schon mal gut. Aber was nun ? Ich erhalte hier jeden Tag emails, die aus einem Text-Teil und einer XML Section bestehen. Der Texteil ist dabei variabel. Deshalb lese ich die Datei, bis die erste XML-Zeile kommt. In dieser Zeile lese ich nun den Anfang. Z.B.:
<dealer>809983</dealer> Durch die <> weiß ich ja, wo der ist. Und durch den / auch, wo das Ende ist. Sind nun noch die Identifier, wie "dealer" bekannt, dann gehts halt weiter. Den Bezeichner zwischen den <> nehme ich als Name des Datenbankfeldes und füge den mit dem Wert (hier : 809983)in die DB (Interbase) ein. Soweit mein Denkanstoß. Allerdings muß ich dazu sagen, daß ich weder Zeit noch Lust habe, mich tiefer in XML einzuarbeiten. Wie gesagt : für mich ist das nur ein Text, den ich bearbeiten kann (mit copy, pos usw.). In Delphi gibts bestimmt Komponenten, die die Nodes etc. leichter handhaben können. 8) In meinem Fall ist es aber aufwändiger, sich das Know-How zu beschaffen, als diese Sachen zu Fuß zu machen. Siehst ja selber, wieviel Resonanz bei dem Thema kommt : fast nichts. |
Re: XML in Master-Detail Tabelle
Hi Hansa
Zitat:
Bin echt verzweifelt :cry: Aber ich Danke dir nochmals, das du dich überhaupt mal damit beschäftigt hast :thumb: gruß Frank |
Re: XML in Master-Detail Tabelle
:gruebel: Jetzt habe ich gerade diese
![]() Zitat:
Aber weiterhelfen tut mir das nicht. Ich habe keine Ahnung wie das geht :wall: Und dann kommt da noch das Problem mit der MySQL Datenbank. Wie muss die aussehen damit ich die Daten hinein bekomme? Master-Detail? Gruß |
Re: XML in Master-Detail Tabelle
Hallo Computerbabalulu,
Master Detail Verbindung heißt zunächst ja nur, dass du die Daten in (mindestens) zwei Tabellen anordnest. Als Beispiel kannst du dir eine Rechnung vorstellen, die einen Rechnungskopf hat, der für jede Rechnung in einer Tabelle RechKopf gespeichert wird und die Rechnungspositionen, die in einer zweiten Tabelle stehen. Die erste Tabele hat z.B. eine RechnungsID, die in der zweiten Tabelle in jeder Position angegeben wird, so dass die Position eindeutig einem Rechnungskopf zugeordnet werden kann. Im Programm stellst du dann später eine Master - Detail Verbindung her, wobei der Rechnungskopf der Master ist und die Positionen die Details darstellen. |
Re: XML in Master-Detail Tabelle
Hi MrSpock
Danke für die Antwort. Ich benutze die Zeos Kompos. Die Tabellen habe ich auch bereits... Master: ID Customer Envelope Detail: ID_Master Lincode Article qty Ich weiß jezt nur nicht wie ich a.) die Zeos einstellen muss und b.) die Daten aus dem XML File bekomme... Gruß Frank |
Re: XML in Master-Detail Tabelle
Komplettlösungen sind ja hier zurecht unerwünscht. Da du aber nicht weiter kommst und bevor Du nun demnächst vom Dach springst :mrgreen: , habe ich mal in meinem Nähkästchen gesucht :
Delphi-Quellcode:
So, versuche nun mal zeilenweise die XML-Datei zu lesen und lasse dir in einer Listbox, Memo o.a. den Feldnamen und den Feldinhalt anzuzeigen. Und zwar ohne <>/ usw. Sofern dir dies gelingt ist ca. 80 % der Arbeit zumindest auf der XML-Seite gemacht.
FUNCTION ErmittleFeldName (st : string) : string;
VAR i : integer; HilfSt : string; ende : boolean; BEGIN ende := false; i := 2; HilfSt := ''; WHILE NOT ende DO BEGIN HilfSt := HilfSt + st [i]; i := i + 1; ende := st [i] = '>'; END; ErmittleFeldName := HilfSt; END; FUNCTION ErmittleFeldInhalt (st : string) : string; VAR i : integer; HilfSt : string; ende : boolean; BEGIN ende := false; i := 2; HilfSt := ''; WHILE st [i] <> '>' DO i := i + 1; i := i + 1; WHILE NOT ende DO BEGIN HilfSt := HilfSt + st [i]; i := i + 1; ende := st [i] = '<'; END; ErmittleFeldInhalt := HilfSt; END; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz