AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?
Thema durchsuchen
Ansicht
Themen-Optionen

Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

Ein Thema von hoika · begonnen am 24. Apr 2019 · letzter Beitrag vom 29. Apr 2019
Antwort Antwort
Seite 3 von 5     123 45      
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 08:19
Hallo,
ja, davon kannst Du ausgehen.
Ich fülle einmal eine eigene interne Struktur und benutze dann nur noch diese eigene interne Struktur.

aktuell (Pseudocode):
Xml.LoadFromFile;
AdresseNode:= Xml.NodeByName('Person').NodeByName('Adresse');
Strasse:= AdresseNode.Value['Strasse'];
HausNr:= AdresseNode.Value['HNr'];

<Person>
<Adresse>
<Strasse V="Musterweg"/>
<HNr V="3"/>
</Adresse>
</Person>

Das Problem bei mir ist, das die Datei etwa 100.000 Zeilen hat und ich davon etwa 50.000 für mein Programm brauche.

SAX würde da wohl wirklich helfen.
Ich bin mir nur nicht sicher, wie das ablaufen soll. Ich probier es einfach aus.

Noch mal zu eigenem Code.
Die Struktur ist ja fix. Jeder Node ist in einer eigenen Zeile.
Ich könnte die Datei in eine StringList laden, die dann einfach mit einer Schleife durchlaufen
und mir dir einzelnen Personen zusammensuchen.
Heiko

Geändert von hoika (26. Apr 2019 um 08:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#22

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 08:22
Zitat:
ich suche noch nach einem aktuellen Download
https://www.delphipraxis.net/130751-...-himix-ml.html
1. Post, ganz unten (Download)

PS: klein aber oho.

himitsu ist wieder mal verschollen...

Geändert von haentschman (26. Apr 2019 um 08:25 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 08:27
Hallo,
Zitat:
ganz unten.
Ja, die hatte ich mir ja runtergeladen, waren aber von 2010.
Wie ich schon weiter oben geschrieben hatte.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#24

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 08:31
Eine neue neuere gibt es nicht. Funktioniert auch mit aktuellem Delphi.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#25

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 08:33
Hallo,
danke.
Heiko
  Mit Zitat antworten Zitat
hans65

Registriert seit: 1. Feb 2007
Ort: Sachsen
26 Beiträge
 
Delphi 12 Athens
 
#26

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 09:08
Ich hatte schon einmal den XMLParser (ALXmlDoc.pas )von https://github.com/Zeus64/alcinoe im Einsatz.
Bei meinen kurzen Tests war er schneller als das Delphi-eigene TXMLDocument.
Ein zusätzlicher Vorteil war, dass die Komponente einen Mischbetrieb zwischen Sax und Dom unterstützt. Man konnte also eine Xml-Datei nur teilweise einlesen, z.B. bis zum Ende eines Hauptknotens, alles bequem im Dom auswerten und dann freigeben und mit dem nächsten Element fortsetzen.
  Mit Zitat antworten Zitat
jobo

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

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 09:08
Mit dieser Struktur komme ich nur auf ca 1/5 der genannten Größe:
Code:
<Person>
    <Adresse>
        <Strasse V="Bahnhofstr."/>
        <HNr V="68"></HNr>
    </Adresse>
</Person>
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.640 Beiträge
 
Delphi 11 Alexandria
 
#28

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 09:10
Der XmlParser (destructor) sieht ja nicht schlecht aus.
Ich verstehe nur noch nicht, wie ich an die einzelnen Knoten rankomme.
Bisher greife ich über NodeByName auf das interne DOM zu.
Aber ich hatte es mir schon gedacht, das das eine komplette Code-Umstellung mit sich bringt.
Ja, solltest Du Dir mal anschauen, ein SAX Parser arbeitet nun einmal eventbasiert. Aber so groß ist die Code-Umstellung dann nicht. OXml kann mit anonymen Methoden arbeiten. Da geht das alles in einem Rutsch.
Sven Harazim
--
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#29

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 10:12
Hallo,
Zitat:
Mit dieser Struktur komme ich nur auf ca 1/5 der genannten Größe:
Hm ?

Zitat:
ein SAX Parser arbeitet nun einmal eventbasiert
Schon klar, ich bin ja lernfähig
Heiko
  Mit Zitat antworten Zitat
jobo

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

AW: Endlich mal eine schnelle Xml-Komponente gesucht oder selber tippern?

  Alt 26. Apr 2019, 10:15
Obige Struktur mal 100000 "Datensätze" z.B. ergibt bei mir eine Datei von ca 10 MB Größe. Die Struktur ist also unvollständig, oder es gibt ein Missverständnis, jedenfalls ist ein tatsächlicher Zeitvergleich damit nicht möglich.
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


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 00:16 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