Zitat von
xZise:
Aber es lässt sich so schlecht verwenden.
Einiges kommt mir zumindestens leichter vor ... hab auch "absichtlich" einiges anders definiert, als es z.B. beim (MS)
XML-
DOM der Fall ist.
Und wenn es dir dennoch zu schwer ist ... siehe Tools, da kannst du es (fast) wie TIniFile oder TRegistry verwenden, falls des dir leichter fällt.
Zitat von
xZise:
Ich werde dein Projekt mal testen
Vll. taugt es was
viel Spaß und ich hoff's
neues Update oben
- Indexfehler (Exception) in [Node].NodeList behoben
- Fehler in den Deserialisierungen behoben und Einiges überarbeitet
(die Deserialisierung für Variants und Records scheint nun zu laufen ... für Objekte kommt hoffentlich auch bald)
- 2 Demos sind dazugekommen
- Demo_Serialize.dpr - kleine Demonstration der (De)Serialisierungsfunktionen
(besser im Debugger durchgehn, da man sonst noch nicht viel sieht)
- Demo_Tree.dpr - eine XML-Datei einlesen und in einer TreeView anzeigen
[add]
soeben ist noch 'ne weitere Demo (SAXParser.dpr) entstanden ... es ist sowas wie ein
SAX-Parser,
also die Daten werden schon wärend des Einlesens/Parsens ausgewertet und gleich wieder freigegeben
(dieses hab ich einfach in der schon vorhandenen Callback-Funktion gelöst)
man kann also auch mal Gigabyte-große Dateien parsen, ohne daß der geladene
XML-Baum den
RAM vollmacht
[/add]
SpeedTest.dpr liefert bei mir jetzt dieses Ergebnis
Code:
SetProcessAffinityMask: OK
use QueryPerformanceCounter
precreating used strings - do not create and convert this within the measuring
create:43
fill TXMLFile with 10.000 nodes and save this into a file
create:0 fill:15 save:9 free:4
fill TXMLDocument with 10.000 nodes and save this into a file
create:12 fill:6458 save:108 free:0
fill TXMLFile with 10.000 nodes, delete 8.000 nodes and save this into a file
create:0 fill:15 delete:409 save:4 free:0
fill TXMLDocument with 10.000 nodes, delete 8.000 nodes and save this into a file
create:0 fill:6303 delete:106310 save:97 free:0
fill TXMLFile with 10.000 nodes with attributes and save this into a file
create:0 fill:691 save:386 free:5
fill TXMLDocument with 10.000 nodes with attributes and save this into a file
create:0 fill:6589 save:122 free:0
fill TXMLFile with 100.000 nodes, save into and load this from a file
create:0 fill:166 save:70 free:37
create:0 load:245 free:33
fill TXMLDocument with 100.000 nodes, save into and load this from a file
create:0 fill:708145 save:348 free:0
create:0 load:331 free:94
fill TXMLFile with 10.000 nodes with attributes and search nodes
create:0 fill:697 search:2746 free:4
fill TXMLDocument with 10.000 nodes with attributes and search nodes
create:0 fill:6503 search:164476 free:0
press [enter]
ich glaub damit kann ich erstmal leben