Laden...

XML Datei zerlegen

Erstellt von Anna85 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.687 Views
Thema geschlossen
A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren
XML Datei zerlegen

verwendetes Datenbanksystem: <Microsoft Management Studio>

Hallo, ich habe eine ziemlich große xml Datei - 8GB. Sie ist wie folgends aufgebaut:


<?xml version="1.0"><collection xmlns=....>
<record type="zeitung">
  <id>texta </id>
     <buch> abc </buch>
</record >
<record type="zeitung">
  <id>textb </id>
     <buch> def </buch>
</record >
<record type="zeitung">
  <id>textc</id>
     <buch> ghi </buch>
</record >
</collection>


Wie kann ich jetzt die Datei in 4 Dateien zerlegen? Habe ich an Tolls gesucht, aber bisher nichts gefunden. Die Datensätze haben keine ids, also kann ich auch nicht sagen, von wo bis wo.
Ich werde mich über jede Tipp freuen.

Viele Grüße
Anna

16.807 Beiträge seit 2008
vor 4 Jahren

Magst Du Dich nach all den Thema dazu nicht einfach mal grundlegend mit XML beschäftigen; was die Konzepte von XML sind und wie man sie allgemein liest / zerlegt?

XML ist sooo weit verbreitet; ich kann Dir beim besten Willen nicht glauben, dass Du nichts findest.....
Auf mich wirkt das einfach so, dass Du gewisse Aufgaben aufs Forum abwälzt - sorry.

T
2.219 Beiträge seit 2008
vor 4 Jahren

Mal davon abgesehen, dass Abt hier schon etwas Recht hat und du dich dringend mit XML beschäftigen solltest, haben deine Datensätze doch offensichtlich eine id in Form des <id> Tags.
Da deine Xml scheinbar auch nur eine Collection ist mit entsrechenden Record Objekten sind, wirst du wohl nicht drum herum kommen, diese einzulesen und dann zu verarbeiten.

Dann hast du aber am Ende aber 4 Dateien mit dem gleichen Aufbau.
Ohne den Anwendungsfall zu kennen, würde ich erstmal von unnötiger Splittung und somit auch unnötiger Mehrarbeit für dich ausgehen.
Auch wenn die Datei 100GB groß wäre, sollte dies zum auslesen/verarbeiten der Daten keine Rolle spielen.
Und händisch willst du dies kaum lösen wollen, da in 8GB XML schon einiges an Daten drin stehen dürfte.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

A
Anna85 Themenstarter:in
59 Beiträge seit 2019
vor 4 Jahren

Hi Abt, du hast Recht, ich möchte euch was fragen, da ich davon ausgehe,, dass die Forums für so was da sind.

Du kennst dich aus- super. Ich benötige Hilfe.

Ich schreibe bzw. versuche ich einen Script zu schreiben, um die datei auf 4 dateien zerlegen. Grund ist: in unserem DB kann ich max 5 GB hochladen, es gibt sonst Probleme.

Habe ich jetzt genug gesagt?
Ich möchte keine Lösung, ich möchte Rat und Tipps.

Danke!
Jetzt kann mein Post hier abgeschlossen sein. Ich versuche es irgendwie schon. Ich frage mich nur, wozu ist ein Forum: auf Fragen zu beantworten ...

Viele Grüße
Anna

16.807 Beiträge seit 2008
vor 4 Jahren

ich möchte euch was fragen, da ich davon ausgehe,, dass die Forums für so was da sind.

Da hast Du was falsch verstanden. =)
Das Forum ist für konkrete Probleme da - wir sind aber keine kostenlosen Lehrer, die Dir XML beibringen.

Du bist selbst in der Verantwortung Dir gewisse Dinge eigenständig beizubringen.
Jedes Forum dieser Erde erwartet Eigenitiative.

Die XML Frage hier, wie man XML Dateien richtig liest, behandelt quasi jedes XML Tutorial.
Wird sich vermutlich nicht "zerlegen" nennen; im Endeffekt ist es aber nur Nodes lesen und Node schreiben.
Gelerntes anwenden: fertig.

Ich möchte keine Lösung, ich möchte Rat und Tipps.

In den letzten Themen ging es immer um grundlegende Dinge - wie auch diesem.
Und wenn Du Dich einfach mal ein paar Minuten selbst mit XML beschäftigen würdest, würden sich zum einen gewisse Fragen gar nicht ergeben und zum anderen hättest Du selbst schneller eine Antwort als dass ein Helfer Dein Thema liest und Dir antwortet.

T
2.219 Beiträge seit 2008
vor 4 Jahren

Für mich klingt eure Datenbank etwas komisch.
Warum ist diese auf 5 GB limitiert?

Ist dies eine Relationale DB wie der SQL Server oder eine Dokumenten DB ala Couch DB o.ä.?
Wenn ihr eine Relationale DB habt, ist der Ansatz XML Dateien zu speichern schon der Falsche.
Hier sollten die Daten in ihre Relationen umgewandelt und gespeichert werden.
Dies dürfte die Datenmenge schon erheblich verkleinern.

Bei einer Dokumenten DB würde ich nicht erwarten, wenn ihr mit großen XML Dateien arbeitet, dass ihr hier ein Limit von 5GB setzt.
XML Dateien können hier in der Regel auch schnell mal 10-100GB groß werden, je nachdem was man darin speichert.
XML ist eben nicht auf kompakte Datenhaltung ausgelegt.

Ansonsten wäre auch zu überlegen, ob ihr eurer Datenformat nicht auf ein kompakteres Format wie json oder gar binäre Formate umstellt, wenn Speicherplatz ein solches Problem für euch darstellt.
Dürfte auch die Verarbeitung um einiges effizienter gestalten.

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo,

wegen Crosspost mach ich hier zu.

Ergänzend zu Abts Hinweisen, sollten auch [Hinweis] Wie poste ich richtig? Punkt 2.2 beachtet werden -- aus dort genannten Gründen.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

Thema geschlossen