![]() |
XML Dynamisch lesen
mahlzeit,
in einer xml datei habe ich mehrer knoten nach diesem schema:
XML-Code:
um die werte zu verwenden habe ich entsprechende variablen und konstanten definiert, z.b.
<kategorie wert1="blablabla" wert2="blablabla" wert3="blablabla"/>
Delphi-Quellcode:
und die zuweisung erfolgt dann nach diesem muster:
{...}
var kategorie: array[0..2] of widestring. const wert1 = 0; wert2 = 1; wert3 = 2; {...}
Delphi-Quellcode:
das funktioniert alles auch prima. nun stellt sich für mich aber die frage ob es nicht eventuell besser wäre wenn ich die string-werte erst auslese wenn ich sie brauche. ich stelle mir das nach diesem muster vor:
label1.caption := kategorie[wert1];
Delphi-Quellcode:
nach dieser variante würde ich mir die entsprechenden variablen und konstanten sparen. und auch der speicherverbrauch meines programmes müsste sinken. doch wie sieht es mit der performance aus. wird eine via msxml eingebundene xml-datei immer im speicher gehalten für einen erneuten zugriff oder wird sie jedes mal neu geöffnet? wie seht ihr das ganze?
label1.caption := LeseXMLWert('categorie', 'wert1');
|
Re: XML Dynamisch lesen
Hallo Andy,
wenn du auf deine XML-Datei über DOM-Funktionen zugreifst, dann findet nach dem Parsen kein Zugriff auf das Quelldokument mehr statt. Wenn du ein Document Object im Hauptspeicher vorhältst, dann sind zusätzliche Variablen tatsächlich eine Verschwendung von Speicherplatz. Der Zugriff über die DOM-Funktionen ist in der Regel schnell genug, allerdings verbraucht das DOM deutlich mehr Speicher, als eine eigene Speicherstruktur. Grüße vom marabu |
Re: XML Dynamisch lesen
mahlzeit,
wenn ich mich nicht irre läuft ja msxml über dom. das problemm ist das ich ein via:
Delphi-Quellcode:
erstelltes objekt nicht wieder freigen kann da mir sonst das programm abschmiert. daher dachte ich wenn ich das object eh die ganze zeit mit mir rumschleppe wäre es eventuell sinnvoll gleich direkt auf die daten zuzugreifen. ich hab blos bedenken bezüglich der performance.
XMLDoc := CoDomDocument40.Create;
|
Re: XML Dynamisch lesen
Zitat:
marabu |
Re: XML Dynamisch lesen
mahlzeit,
danke für deine antwort. ich bin gerade dabei mein programm um zustellen und bis jetzt hab ich nix negatives bemerkt, aber bei ca. 300 werten dauert es bis ich fertig bin :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz