Zum Hauptinhalt springen
Weil einfach - produktiver ist
Der Daten Spezialist

✅ Kinderleichte Datenintegration - Import / Export
✅ Keine Programmierung dank visueller Modellierung
✅ Einfaches ETL-Tool mit vielseitigen Möglichkeiten

Mit der Freeware Version können bis zu 100.000 Datensätze verarbeitet werden!
Flowheater Chart

XML Read Adapter

Mehr
2 Wochen 5 Tage her #5425 von sws_flowheater
XML Read Adapter wurde erstellt von sws_flowheater
Guten Tag liebes FlowHeater-Team,

ich bin aktuell dabei einen Prozess für unser Belegwesen zu erstellen.
Dazu wird ein SOAP Webservice abgefragt, der aus dem ERP-System eine Liste mit Belegen ausgibt. Dies habe ich mit einem Powershell-Skript gelöst, welches die Daten in eine XML-Datei
schreibt.

Nun meine Frage: Diese XML ist wie folgt aufgebaut - 
<S:Envelope>
 <S:Body>
  <ns2:get_liste_belege_response>
   <beleg_seite_rectype>
    <belege_tab>
     <beleg_rectype>
      value1
      value2
      ...
      <positionen>
       <position_rectype>
        value1
        value2
         ...

die Anzahl von beleg_rectype und innerhalb der beleg_rectype die position_rectype können unterschiedlich groß sein (also dynamisch). Wie kann ich realisieren, dass alle Zeilen ausgelesen werden können. Zum Test würde ich das Ganze erstmal in einen Textfile schreiben, später werden die Daten in eine SQLServer-DB geschrieben.

Ich benötige Hilfe bei der Umsetzung. Die XML-Datei stelle ich Ihnen im Anhang zur Verfügung.
Dateianhang: Dateiname: out.xml
Dateigröße:19.1 KB

Vielen Dank!

Mit freundlichen Grüßen

Mattes Mundt

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
2 Wochen 5 Tage her #5427 von FlowHeater-Team
FlowHeater-Team antwortete auf XML Read Adapter
Hallo Herr Mundt,

Sie müssen im XML Adapter über den XPath angeben, welche Elemente/Nodes Sie dynamisch aus der XML-Datei lesen möchten.

Hierzu einfach die Analysetiefe der XML-Nodes auf in Ihrem Fall 6 stellen und die XML-Datei analysieren lassen. Anschließend können Sie das betroffene Element/Node auswählen das die Positionen enthält.

In Ihrem Fall: //S:Body/ns2:get_liste_belege_response/beleg_seite_rectype/belege_tab/beleg_rectype/positionen/position_rectype
Was den Pfad bzw. XPath von oben nach unten beschreibt.

Wenn Sie jetzt auf Felder einlesen gehen, wird alles unterhalb von „position_rectype“ eingelesen. Der XML Adapter interpretiert dann jedes Element hier als eigenen Datensatz und liest auch dynamisch alle vorkommen aus.

Jetzt benötigen Sie mit Sicherheit noch einige Felder des dazugehörigen Beleges? Hierzu legen Sie sich manuell weitere Felder an, markieren dieses und klicken den Button „Wert von übergeordneten Knoten übernehmen“. Hier müssen Sie jetzt die Ebenen angeben die von hier aus nach oben gegangen werden soll, sowie welches Feld davon ausgelesen werden soll, siehe Screenshot.

Im Anhang finden Sie ein Beispiel dazu.

ACHTUNG: Leider erfolgt in Ihrer XML-Datei die Angabe der verwendeten Namespace Elemente nicht ausschließlich über das ROOT-Element. Das ist kein Fehler Ihrer Datei, sondern der FlowHeater kann das aktuell nicht verarbeiten. Im beigefügten Beispiel habe ich das manuell eingetragen kann aber aktuell nicht verändert oder eingesehen werden! Mit der nächsten Version wird das dann auch auf der READ-Seite editierbar sein.

 

 
Dateianhang: Dateiname: xml-dynami...esen.zip
Dateigröße:4.77 KB

 

gruß
Robert Stark

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.131 Sekunden
FlowHeater Logo
FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches
Support & Kontakt
Kontaktinformation

Copyright © 2009-2026 by FlowHeater GmbH. Alle Rechte vorbehalten.