AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML erzeugen / Performance

Ein Thema von TigerLilly · begonnen am 20. Okt 2020 · letzter Beitrag vom 21. Okt 2020
Antwort Antwort
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#1

XML erzeugen / Performance

  Alt 20. Okt 2020, 19:56
Ich benutze OXML um eine XML Struktur zu erzeugen. Diese besteht eigentlich nur aus 20.000 Einträgen mit je 120 Sub-Einträgen:

Code:
XML := CreateXMLDoc;
Root := XML.DocumentElement;
// 20.000 mal
Node := Root.AddChild('child');
Node.SetAttribute('attribute2', 'value2');
   // 120 mal
   NodeSub := Node.AddChild('subchild');
   NodeSub.SetAttribute('attribute2', 'value2');

XML.SaveToFile('S:\test.xml');//save XML document
Das funktioniert , wird aber immer langsamer. Außerdem wird das zur Ganze im Speicher aufgebaut und das ist eine rechte Datenmenge. Wie kann ich das schneller machen?

Danke für jeden Tipp!
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#2

AW: XML erzeugen / Performance

  Alt 20. Okt 2020, 20:44
Gut, wenn es keine Einschränkung gibt:
Wenn die 20000 Einträge aus einer DB kommen, schau ob sie ein XML Interface hat und nutze es. Das sollte mindestens bei Oracle, MSSQL, Postgres der Fall sein.
Vielleicht kannst Du auch die Anforderung prüfen und feststellen/klären, ob ein anderes Format wie JSON ausreicht. Damit erweitert sich der Rahmen der DB u.a. auf SQLite, was man selbst dann problemlos als Konverter einsetzen könnte, wenn eigentlich gar keine DB im Spiel ist.
Mit XML Libs für Delphi kenne ich mich nicht aus.
Gruß, Jo
  Mit Zitat antworten Zitat
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: XML erzeugen / Performance

  Alt 21. Okt 2020, 13:06
Ich glaube, ich war voreilig, das Problem ist nicht das Erzeugen der XML - die DB bleibt da irgendwo stecken?! Das muss ich wohl vorher klären.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz