![]() |
AW: XML parsen, aber wie
Ich hätte nicht gedacht, einen solchen Glaubenskrieg zu entfesseln....
Ich habe mich jetzt für eine sehr überschaubare Lösung mit Entfernen aller Zeilenumbrüche und nschließendem Pos entschieden, war halt einfach schnell zusammen getippt und da die "xml" Datei dieses feste Format aufweist, scheint mir diese Lösung auch durchaus gerechtfertigt zu sein. Danke aber trotzdem für die vielen Vorschläge |
AW: XML parsen, aber wie
Zitat:
Ciao Stefan |
AW: XML parsen, aber wie
Zitat:
Ganz ehrlich, wenn man XML Daten hat, dann nutzt einen XML Parser, auch wenn diese selbst erstellt wurden. Vielleicht finden man ja doch mal einen Fehler, oder aktualisiert die Library, welche man nutzt... Und dann gibt es Probleme. Etwas anderes als einen XML Parser vorzuschlagen ist hier schlicht und ergreifend fahrlässig, insbesondere wenn schon im ersten Post klar wird, dass die Daten von extern kommen... Und um auch noch einen Nutzen dazu zu bringen, wenn das XML Document geladen ist, ist hier die XPath-Query für die Fehlerbeschreibung:
Code:
und den Fehlercode:
//params/param[2]/value/array/data/value[1]/string
Code:
...:cat:...
//params/param[2]/value/array/data/value[2]/string
|
AW: XML parsen, aber wie
Und über einen passende RPC-Objekt-Bibliothek würde in etwa sowas rauskommen.
Delphi-Quellcode:
RPCObject := RPCHandler.GetIrgendwas('DE123456789', 'AB1234567890', '', '', '', ''); // UstId_1, UstId_2, Firmenname, Ort, PLZ, Strasse, Druck
UstId_1 := RPCObject.UstId_1; ErrorCode := RPCObject.ErrorCode; |
AW: XML parsen, aber wie
Moin,
ich muss das hier angesprochene Ursprungsproblem mit der Auswertung der XML-RPC-Schnittstelle des Bundeszentralamtes für Steuern ebenfalls lösen. Bei Betrachtung der ![]() Die Code-Schnipsel, die ich bisher gefunden habe, helfen mir leider nicht weiter, weil ich die Methoden in meiner IDE nicht finden kann. Was hat es mit XPath auf sich und wie kann ich darüber auf die einzelnen Param-Einträge zugreifen? So in etwa sieht das Dokument aus, das von der Schnittstelle zurückgegeben wird: <params> <param> <value><array><data><value><string>UstId_1</string></value> <value><string>DE123456789</string></value></data></array></value> </param> <param> <value><array><data> <value><string>ErrorCode</string></value> <value><string>201</string></value></data></array></value> </param> <param> <value><array><data><value><string>UstId_2</string></value> <value><string>PL123456789</string></value></data></array></value> </param> Viele Grüße Ingo |
AW: XML parsen, aber wie
Es ist doch normale Nodes die zufällig "params" heissen.
|
AW: XML parsen, aber wie
Du solltest am besten einen Link posten wo man sich das XML in ganzer Schönheit anschauen kann.
|
AW: XML parsen, aber wie
Zitat:
![]() Testweise geht aber vielleicht ![]() Viele Grüße Ingo |
AW: XML parsen, aber wie
Ich komme über folgenden Code auf 16 Childnodes, die allesamt PARAM als heißen.
Delphi-Quellcode:
Die Werte müsste ich doch nun über AttributeNodes lesen können oder wie muss ich mir das nun vorstellen?
if not(XMLDok.IsEmptyDoc) then
begin for AktNode := 0 to XMLDok.DocumentElement.ChildNodes.Count - 1 do begin : end; end; Gruß Ingo |
AW: XML parsen, aber wie
Ich würde je Knotenebene
![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:32 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