Hi ho.
Mein Thema ist ein wenig schwierig zusammen zu fassen, daher die etwas kryptische Bezeichnug.
Folgendes Problem:
1. Ich habe ein XML Datei, die ich in gewissen Intervallen runterlade. In dieser stehen Daten die ich in eine Datenbank schreibe.
Der Aufbau ist etwa so:
Und so Weiter.
Diese Daten lese ich aus und schreibe Sie in eine Datenbank.
Nun gibt es zum Beispiel zu jedem User Attribute.
- Name, Status usw.
Diese können sich ändern. Dafür führe ich eine Historie in der Datenbank.
Ich habe als eine Tabelle User. Dort stehen die aktuellen Daten zu jedem User drinnen.
Dann habe ich eine Tabelle Userhistory. Dort trage ich Änderungen ein.
Es gibt noch mehr als Users. Zum Beispiel Families.
User können in einer Familie seien, müssen Sie aber nicht. Familien haben allerdings nur 3 User als XMLNode.
Die 3 Familien "Bosse".
In der XML werden nur Online User angezeigt. Das kann bedeuten, das sich in einer Familie Änderungen in den Top3 wiederfinden, die ich nur dort lesen kann, und dann natürlich auch in die Userhistory müssen.
So.
Ich habe das ganze bisher so gelöst, dass ich die XML Node für Node durchgehe und die Werte mit den Werte in der Datenbank abgleiche.
Die Datenbank ist eine MS SQL CE Datenbank.
Das ganze habe ich schon vor einer ganzen Weile gemacht. Die Datenbank Zugriffe geschehen über SQLCE Reader usw.
D.h. ich schreibe die Abfragen im Code mit den XML Werten als Parametern.
Ich möchte das ganze nun komplett überarbeiten, da mir zum einen die Herangehensweise nicht gefällt, und mir auch die Übersichtlichkeit fehlt, wie ich jetzt merke.
(Habe mir dieses Projekt schon ewig nicht mehr angeschaut gehabt)
Hat jemand prinzipiell eine Idee, wie ich da besser herangehe als über SQLCE Reader und durch alle Nodes laufen und immer Abfragen im Code schreiben?
Mit anderen Worten, wie vergleiche ich am besten XML Daten mit Daten in einer Datenbank +
wie schreibe ich am besten Änderungen, falls welche existieren in die Datenbank, ohne mir die Abfragen aus Strings und XML Element zusammenzubasteln?
Ich habe im Moment ein bissl ein Grundkonzept Problem.
Was zum Beispiel nicht funktioniert:
Sprich die XML Files direkt in ein Dataset zu laden und damit zu hantieren.
Grund dafür ist, das jeder User einen SubNode Family hat, welcher weitere Subnodes hat.
Es gibt aber einen weiteren komlpetten Node Family.
Ich hoffe ich habe mich verständlich ausgedrückt.
Cheers Mono
Mein Thema ist ein wenig schwierig zusammen zu fassen, daher die etwas kryptische Bezeichnug.
Folgendes Problem:
1. Ich habe ein XML Datei, die ich in gewissen Intervallen runterlade. In dieser stehen Daten die ich in eine Datenbank schreibe.
Der Aufbau ist etwa so:
XML-Quellcode
- <stats>
- <generated>1327184584</generated>
- <users>
- <user id="6588">
- <name></name>
- <family>
- <name>SoundSo</name>
- <role>None</role>
- </family>
- ...
- </user>
- </users>
- <counts>
- <total>3369</total>
- <online>
- <now>10</now>
- <today>119</today>
- <week>206</week>
- </online>
- −
- <registrations>
- <today>6</today>
- <week>35</week>
- </registrations>
- </counts>
- <families>
- <family id="1212"
- </family>
- <name>Famname</name>
- <worth>622</worth>
- <users>25</users>
- <bank>45924675</bank>
- <city>Philadelphia</city>
- <boss id="6571">DerChef</boss>
- <sotto id="7062">DerSotto</sotto>
- <consig id="6637">DerConsig</consig>
- </families>
Und so Weiter.
Diese Daten lese ich aus und schreibe Sie in eine Datenbank.
Nun gibt es zum Beispiel zu jedem User Attribute.
- Name, Status usw.
Diese können sich ändern. Dafür führe ich eine Historie in der Datenbank.
Ich habe als eine Tabelle User. Dort stehen die aktuellen Daten zu jedem User drinnen.
Dann habe ich eine Tabelle Userhistory. Dort trage ich Änderungen ein.
Es gibt noch mehr als Users. Zum Beispiel Families.
User können in einer Familie seien, müssen Sie aber nicht. Familien haben allerdings nur 3 User als XMLNode.
Die 3 Familien "Bosse".
In der XML werden nur Online User angezeigt. Das kann bedeuten, das sich in einer Familie Änderungen in den Top3 wiederfinden, die ich nur dort lesen kann, und dann natürlich auch in die Userhistory müssen.
So.
Ich habe das ganze bisher so gelöst, dass ich die XML Node für Node durchgehe und die Werte mit den Werte in der Datenbank abgleiche.
Die Datenbank ist eine MS SQL CE Datenbank.
Das ganze habe ich schon vor einer ganzen Weile gemacht. Die Datenbank Zugriffe geschehen über SQLCE Reader usw.
D.h. ich schreibe die Abfragen im Code mit den XML Werten als Parametern.
Ich möchte das ganze nun komplett überarbeiten, da mir zum einen die Herangehensweise nicht gefällt, und mir auch die Übersichtlichkeit fehlt, wie ich jetzt merke.
(Habe mir dieses Projekt schon ewig nicht mehr angeschaut gehabt)
Hat jemand prinzipiell eine Idee, wie ich da besser herangehe als über SQLCE Reader und durch alle Nodes laufen und immer Abfragen im Code schreiben?
Mit anderen Worten, wie vergleiche ich am besten XML Daten mit Daten in einer Datenbank +
wie schreibe ich am besten Änderungen, falls welche existieren in die Datenbank, ohne mir die Abfragen aus Strings und XML Element zusammenzubasteln?
Ich habe im Moment ein bissl ein Grundkonzept Problem.
Was zum Beispiel nicht funktioniert:
Sprich die XML Files direkt in ein Dataset zu laden und damit zu hantieren.
Grund dafür ist, das jeder User einen SubNode Family hat, welcher weitere Subnodes hat.
Es gibt aber einen weiteren komlpetten Node Family.
Ich hoffe ich habe mich verständlich ausgedrückt.
Cheers Mono
Das ist meine Signatur und sie wird wunderbar sein!
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Mono“ ()