Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi MSXML beschleunigen? (https://www.delphipraxis.net/20165-msxml-beschleunigen.html)

aps 14. Apr 2004 10:56


MSXML beschleunigen?
 
Hallo,

eigentlich bin ich begeistert von XML. Hierbei nutze ich MS XML 4. Nun habe ich eine größere Datei, die 7000 Datensätze enthält mit folgendem XML-Aufbau:

Code:
- <url>
  <url>01019rubbelfree.de</url>
  <status>ERR</status>
  <statustext>ERR HOST NOT FOUND</statustext>
  <wwwstatus>ERR</wwwstatus>
  <wwwstatustext>ERR HOST NOT FOUND</wwwstatustext>
- <datum>
  <year>2004</year>
  <month>4</month>
  <day>8</day>
  <hour>10</hour>
  <minute>4</minute>
  <second>54</second>
  </datum>
  </url>
Das Einladen dieser Datei dauert eine halbe Ewigkeit. Gibt es eine Möglichkeit, das Einladen zu beschleunigen?

Alexander 14. Apr 2004 11:01

Re: MSXML beschleunigen?
 
Vielleicht hilft es ja, die XML-Datei in mehrere kleinere aufzusplitten?

Bernhard Geyer 14. Apr 2004 12:21

Re: MSXML beschleunigen?
 
Selbst verwende ich nur den OpenXML-Parser. Jedoch sollte es auch bei MSXML möglich sein.
Versuch mal statt den DOM aufbauen zu lassen MSXML nur als "Parser" zu betreiben. Setzt aber vorraus das du MSXML nur als "leser" bzw. "schreiber" deines Datenmodells benötigst und nicht mit dem DOM arbeitest.

morbo 15. Apr 2004 06:46

Re: MSXML beschleunigen?
 
Zitat:

Zitat von Bernhard Geyer
Selbst verwende ich nur den OpenXML-Parser. Jedoch sollte es auch bei MSXML möglich sein.
Versuch mal statt den DOM aufbauen zu lassen MSXML nur als "Parser" zu betreiben. Setzt aber vorraus das du MSXML nur als "leser" bzw. "schreiber" deines Datenmodells benötigst und nicht mit dem DOM arbeitest.

Hi,
und wie geht das unter OpenXML?

Gruß

Bernhard Geyer 15. Apr 2004 07:11

Re: MSXML beschleunigen?
 
Da schaust Du dir am besten eines der mitgelieferten Beispiele an. Dort müsste auch ein Beispiel vorhanden sein, welches nur ein parsen durchführt (Und damit kannst Du auch erste Geschwindigkeitsaussagen treffen).
Aus dem Stehgreif könnte ich dir (leider) keinen Code hinschreiben. (Wenn man ein paar Wochen an dieser Stelle nichts mehr gearbeitet hat vergisst man leicht einiges).

aps 15. Mai 2004 15:13

Re: MSXML beschleunigen?
 
Zitat:

Zitat von Bernhard Geyer
Versuch mal statt den DOM aufbauen zu lassen MSXML nur als "Parser" zu betreiben.

Weiß jemand, wie das geht?

aps 17. Jul 2004 14:17

Re: MSXML beschleunigen?
 
Hm, weiß wirklich keiner, wie das geht? Schade drum.

Bernhard Geyer 17. Jul 2004 14:33

Re: MSXML beschleunigen?
 
Hast Du den schon mal OpenXML probiert?
Dort müsste ein Beispiel vorhanden sein, welche nur parst ohne DOM-Aufbau. Auch könntest Du damit einfach die Geschwindigkeit vergleichen

aps 17. Jul 2004 18:41

Re: MSXML beschleunigen?
 
Zitat:

Zitat von Bernhard Geyer
Hast Du den schon mal OpenXML probiert?

´

Nein. Du meinst doch http://www.philo.de/xml/downloads_de.shtml? Leider ist die Beschreibung so grottig schlecht, ich habe keine Ahnung, was ich davon benötige...
(das man die Seite nicht lange betrachten kann, ohne Kopfschmerzen zu bekommen, sei mal vernachlässigt)

---
Nachtrag:
Scheinbar scheint aber OmniXML die Wahl zu sein: Nach wenigen Umbenennungen (IXMLDOM... -> IXML...) funktioniert das wunderbar und superschnell...

Nur eines ist noch offen: Wie bekomme ich mit OmniXML am Anfang der Datei ein "<?xml version="1.0" encoding="iso-8859-1"?>" hin? Bei MSXML habe ich das einfach in den Parameter von LoadXML geschrieben, bei OmniXML gibt das aber eine Exception von wegen ungültigem Zeichen.

Bernhard Geyer 18. Jul 2004 18:55

Re: MSXML beschleunigen?
 
Zitat:

Zitat von aps
Nein. Du meinst doch http://www.philo.de/xml/downloads_de.shtml? Leider ist die Beschreibung so grottig schlecht, ich habe keine Ahnung, was ich davon benötige...
(das man die Seite nicht lange betrachten kann, ohne Kopfschmerzen zu bekommen, sei mal vernachlässigt)

Ja, das meine ich. Beschreibung hab ich bisher nicht benötigt. Hab 'nen Arbeitskollegen der da ganz fit ist. 8)

OmniXML werd ich dir nicht helfen können. Hab da keine Ahung davon.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:18 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