Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Wie in SOAP-Envelope steckendes XML parsen? (https://www.delphipraxis.net/162037-wie-soap-envelope-steckendes-xml-parsen.html)

Zwirbel 3. Aug 2011 07:34

Wie in SOAP-Envelope steckendes XML parsen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Tag,

über eine Oracle Queue bekommen wir im "Payload" ein SOAP-Envelope mit XML-Daten. Nun stehen wir vor der Aufgabe die XML-Daten auszulesen um sie in unsere eigene Datenbank zu schreiben. Eine XML-Schema-Datei steht uns leider nicht zur Verfügung.

Wie macht man das möglichst effizient?

In der Anlage mal ein Beispiel, das ist extrem abgespeckt. Es gibt einzelne Payloads die sind >60KB. Es kommt mir hier also vor allen Dingen darauf an, dass das Parsen zeitlich unkritisch abläuft, denn pro Sekunde müssen durchaus mehrere solcher Payloads verarbeitet werden.

Ich habe mir den Thread http://www.delphipraxis.net/153777-x...gsversuch.html angesehen und fand interessant mehrere Möglichkeiten des Parsens kennen zu lernen. Nun unterscheided sich aber das dort gezeigte Beispiel von unserem dadurch, dass wir nicht auf eine XML-Datei zugreifen sondern die Daten als "nackter" String im Speicher vorliegen.

Vielen Dank für ein paar erhellende Hinweise.

Gruß, Markus

himitsu 3. Aug 2011 07:54

AW: Wie in SOAP-Envelope steckendes XML parsen?
 
Zum Parsen einer SOAP-Datei wäre natürlich eine entsprechende SOAP-Komponente doch wie geschaffen?

Zitat:

Nun unterscheided sich aber das dort gezeigte Beispiel von unserem dadurch, dass wir nicht auf eine XML-Datei zugreifen sondern die Daten als "nackter" String im Speicher vorliegen.
Wieso?

Rate mal was das Property FileName macht?
Beim Laden der Komponente wird darüber der Dateiname für LoadFromFile übergeben.
Es gibt aber nicht nur LoadFromfile, sondern man könnte auch LoadFromXML (ein String :zwinker:) oder LoadFromStream verwenden, um das Dokument zu laden
und zusätzlich gibt es noch das Property XML (eine Stringliste).

Zwirbel 3. Aug 2011 09:49

AW: Wie in SOAP-Envelope steckendes XML parsen?
 
Hallo,

Zitat:

Zitat von himitsu (Beitrag 1114842)
Zum Parsen einer SOAP-Datei wäre natürlich eine entsprechende SOAP-Komponente doch wie geschaffen?

Stimmt, und welche würdest du empfehlen? Möglichst welche die in Delphi 2010 Architect zur Verfügung stehen. Oder welche Dritt-Komponenten sind zu empfehlen?

Zitat:

Zitat von himitsu (Beitrag 1114842)
Rate mal was das Property FileName macht?
Beim Laden der Komponente wird darüber der Dateiname für LoadFromFile übergeben.
Es gibt aber nicht nur LoadFromfile, sondern man könnte auch LoadFromXML (ein String :zwinker:) oder LoadFromStream verwenden, um das Dokument zu laden
und zusätzlich gibt es noch das Property XML (eine Stringliste).

Das ist doch ein Ansatz. ;-) Thx.

Gruß, Markus

jaevencooler 3. Aug 2011 12:46

AW: Wie in SOAP-Envelope steckendes XML parsen?
 
Moin, Moin,

eventuell passt ja das hier :

http://www.simdesign.nl/xml.html :P

Beste Grüße
Michael


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