AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

XML parsen, aber wie

Ein Thema von stifflersmom · begonnen am 29. Mär 2017 · letzter Beitrag vom 2. Jul 2021
Antwort Antwort
Seite 3 von 4     123 4   
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
322 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#21

AW: XML parsen, aber wie

  Alt 29. Mär 2017, 18:43
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
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#22

AW: XML parsen, aber wie

  Alt 30. Mär 2017, 08:57
Zitat:
da die "xml" Datei dieses feste Format aufweist, scheint mir diese Lösung auch durchaus gerechtfertigt zu sein.
Bis das Bundesamt da mal an der Formatierung dreht...

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.579 Beiträge
 
Delphi 10.4 Sydney
 
#23

AW: XML parsen, aber wie

  Alt 30. Mär 2017, 09:09
Warum versuchen eigentlich ständig Alle auf Biegen und Brechen nicht das zu verwenden, was dafür gedacht ist?
Ich war schon leicht schockiert das hier alle mit Pos etc. arbeiten wollen. DANKE!

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:
//params/param[2]/value/array/data/value[1]/string
und den Fehlercode:
Code:
//params/param[2]/value/array/data/value[2]/string
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.593 Beiträge
 
Delphi 10.4 Sydney
 
#24

AW: XML parsen, aber wie

  Alt 30. Mär 2017, 09:31
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;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
70 Beiträge
 
Delphi 10.3 Rio
 
#25

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 11:51
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 Schnittstellenbeschreibung hatte ich angenommen, dass es kein Hexenwerk ist. Nachdem ich nun über die Klippe von TLS 1.2 mit Indy gesprungen bin, suche ich nun nach der Auflösung des Rätsels, wie ich auf die einzelnen Parameter eines XML-Objektes zugreifen kann, wenn es keine klassischen Nodes sondern Params sind.

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
  Mit Zitat antworten Zitat
Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
147 Beiträge
 
Delphi 10.4 Sydney
 
#26

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 12:23
Es ist doch normale Nodes die zufällig "params" heissen.
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.233 Beiträge
 
Delphi 10.4 Sydney
 
#27

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 13:30
Du solltest am besten einen Link posten wo man sich das XML in ganzer Schönheit anschauen kann.
Ich mache grundsätzlich keine Screenshots. Schießen auf Bildschirme gibt nämlich hässliche Pixelfehler und schadet der Gesundheit vom Kollegen gegenüber. I und E zu vertauschen hätte den selben negativen Effekt, würde aber eher dem Betriebsklima schaden
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
70 Beiträge
 
Delphi 10.3 Rio
 
#28

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 13:42
Du solltest am besten einen Link posten wo man sich das XML in ganzer Schönheit anschauen kann.
Der Aufbau wird auf Seite 1 dieses Threads dargestellt. Eine URL kann man nicht so ohne weiteres einstellen, weil die Abfrage eigentlich eine gültige Umsatzsteuer-Identnummer benötigt.

Testweise geht aber vielleicht dieser Link.

Viele Grüße
Ingo
  Mit Zitat antworten Zitat
ioster

Registriert seit: 15. Aug 2008
70 Beiträge
 
Delphi 10.3 Rio
 
#29

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 13:45
Ich komme über folgenden Code auf 16 Childnodes, die allesamt PARAM als heißen.

Delphi-Quellcode:
if not(XMLDok.IsEmptyDoc) then
  begin
    for AktNode := 0 to XMLDok.DocumentElement.ChildNodes.Count - 1 do
      begin
       :
      end;
  end;
Die Werte müsste ich doch nun über AttributeNodes lesen können oder wie muss ich mir das nun vorstellen?

Gruß
Ingo
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.270 Beiträge
 
Delphi 11 Alexandria
 
#30

AW: XML parsen, aber wie

  Alt 22. Jun 2021, 14:30
Ich würde je Knotenebene FindNode und NextSibling verwenden, um durch die Kindknoten derselben Ebene zu navigieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen

Geändert von DeddyH (22. Jun 2021 um 14:32 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 02:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf