AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Wie in SOAP-Envelope steckendes XML parsen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie in SOAP-Envelope steckendes XML parsen?

Ein Thema von Zwirbel · begonnen am 3. Aug 2011 · letzter Beitrag vom 3. Aug 2011
Antwort Antwort
Zwirbel

Registriert seit: 17. Aug 2009
66 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie in SOAP-Envelope steckendes XML parsen?

  Alt 3. Aug 2011, 08:34
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
Angehängte Dateien
Dateityp: xml minumum xml to parse.xml (1,9 KB, 10x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

AW: Wie in SOAP-Envelope steckendes XML parsen?

  Alt 3. Aug 2011, 08:54
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 ) oder LoadFromStream verwenden, um das Dokument zu laden
und zusätzlich gibt es noch das Property XML (eine Stringliste).
$2B or not $2B

Geändert von himitsu ( 3. Aug 2011 um 08:56 Uhr)
  Mit Zitat antworten Zitat
Zwirbel

Registriert seit: 17. Aug 2009
66 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wie in SOAP-Envelope steckendes XML parsen?

  Alt 3. Aug 2011, 10:49
Hallo,

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?

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 ) 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
  Mit Zitat antworten Zitat
jaevencooler

Registriert seit: 8. Sep 2005
Ort: Friedrichshafen
41 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Wie in SOAP-Envelope steckendes XML parsen?

  Alt 3. Aug 2011, 13:46
Moin, Moin,

eventuell passt ja das hier :

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

Beste Grüße
Michael
Michael
Wissen ist Macht, nichts wissen macht auch nichts.
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:09 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