Hallo!!
Ich habe ein Problem (wie wohl alle hier, die ein Thema erstellen
)...
Ich bekomme eineen XML-Report und will mit diesem eine Datenbank aktualisieren. also alle noch nicht vorhandenen "Row"-Elemente in eine Tabelle schreiben.
1.Beim einlesen in ein DataSet (und anzeigen in Datagrid) werden die gleichnamigen Elemente ignoriert. Also erhalte ich zwar eine Tabelle "row", aber ohne Zeilen. Das ist doof. Habs auch mit einer xsd versucht... ohne Erfolg. Hier XML Beispielcode:
XML-Daten
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
| <?xml version="1.0" encoding="UTF-8"?> <report time="2006-11-13 04:04"> <matrix rowcount="2"> <columns> <Name type="string">bla1</Name> <timeOfVisit type="datetime">timeOfVisit</timeOfVisit> <timeOfEvent type="datetime">timeOfEvent</timeOfEvent> </columns> <rows> <row> <Name>Blabla</Name> <timeOfVisit>2006-10-17 12:56</timeOfVisit> <timeOfEvent>2006-10-17 13:04</timeOfEvent> </row> <row> <Name>Blabla</Name> <timeOfVisit>2006-10-17 12:56</timeOfVisit> <timeOfEvent>2006-10-17 13:04</timeOfEvent> </row> <row> <Name>Blabla</Name> <timeOfVisit>2006-10-17 12:56</timeOfVisit> <timeOfEvent>2006-10-17 13:04</timeOfEvent> </row> </rows> </matrix> </report> |
2. Bisher kam ich noch nicht dazu mit mySQL loszulegen. Vielleicht ist mit eine einfachere Variante entgangen... wie würdet ihr aus obigem XML-Code alle "Row"-Elemente rausziehen, überprüfen ob diese in einer mySQL-Tabelle existiert und gegebenenfalls eintragen.
Spaltennamen können verschieden sein:
...FROM Reportdatentabelle
...WHERE UserName LIKE Blabla AND Visit..."
XML-Daten
1: 2: 3: 4: 5:
| <row> <Name>Blabla</Name> <timeOfVisit>2006-10-17 12:56</timeOfVisit> <timeOfEvent>2006-10-17 13:04</timeOfEvent> </row> |
Wäre super wenn mir jemand helfen könnte... bin noch etwas grün hinter den Coder-Ohren.
Moderiert von UGrohne: XML-Tags hinzugefügt.