- Beiträge: 10
Write-XML-Adapter RootElement mit Attributen
- Jens Kirsten
- Autor
- Offline
- Benutzer
Beim Write-XML Adapter habe ich folgendes Problem
Im 1.Verarbeitungsschritt schreibe ich xml-Daten (HeaderInformationen die nur 1x geschrieben werden sollen) ohne Attribute
Im 2.Verarbeitungsschritt schreibe ich xml-DatenSätze .
Fertig und funktioniert .
Nun brauche ich aber im RootElement einige Attribute
Ich schreibe die Attribute in den Reiter des Write-XML Adapters
und der nachfolgende VerarbeitungsSchritt 2 schlägt fehl mit der Meldung das das RootElement nicht gefunden werden kann.
Ich habe etliche Tests mit unterschiedlichen XPAth RootElement und DatensatzNamen durchgeführt finde aber die richitge Kombination nicht
(oder der FH nimmt den RootElementNamen von Character "<" bis Character ">" (Statt von "<" bis zum ersten Leerzeichen) was den Fehler auch erklären könnte,
aber es gibt sicherlich noch etliche andere Erklärungen ...)
Ziel-Struktur = siehe Bild1
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
beim nachstellen Ihrer Anforderung bin ich auf ein Problem mit dem Schreiben des XML ROOT Nodes gestoßen. Mit der aktuellen Version können im XML ROOT Node nur Unterknoten angelegt werden, Attribute werden hier ignoriert.
Das Problem im XML Adapter wurde eben gefixt. Über untenstehenden Link können Sie sich eine korrigierte Beta Version herunterladen. Hier werden im XML ROOT Element auch Attribute unterstützt.
Weiter finden Sie im Anhang ein Beispiel wie das durchgeführt werden kann. Diese müssten allerdings im ersten Verarbeitungsschritt vorgenommen werden.
Schauen Sie sich das Beispiel mal an. Falls noch Fragen vorhanden Sind können wir das Anhand dieses Beispiels noch weiter verfeinern.
Download Beta Version
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
erstmal vielen Dank für die schnelle Hilfe !
nach einigem Hin und her probieren habe ich festgestellt das das Problem für mich weiterhin besteht.
Ich konnte den Fehler grad noch weiter eingrenzen.
Der FH mag den Namen des Attributes nicht (xmlns) , vermutlich weil es ein Reservierter Name ist
siehe ScreenShot, der zeigt das das mitgelieferte Beispiel mit den o.g. AttributsNamen auch fehlschlägt
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Ok das hatte ich nicht geprüft, hier ist auch noch ein Problem vorhanden
Ja das sind hier reservierte Zeichen/Wörter womit der XML Namespace beschrieben wird. Diese müssten Sie im 1. Verarbeitungsschritt über den Reiter „Attribute“ setzen, siehe Screenshot.
So wird dann schon mal der Namespace gesetzt. Leider findet dann der 2. Verarbeitungsschritt das XML ROOT Element nicht da hier bisher der Namespace beim Schreiben nicht geprüft wurde.
In der aktuellen Beta Version wurde das gefixt, bitte nochmal herunterladen.
Im Anhang finden Sie das angepasste Beispiel dazu.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
vielen Dank für die schnelle Hilfe
Ein Testlauf brachte nun das Ergebnis , das FH (4.4.3.1 download heute morgen ) in JEDEN Datensatz das Attribut "xmlns" hineinschreibt.
Ist das der Workaround oder eine "vergessene" TestAusgabe aus der Entwicklung ?
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
ja, man sollte nichts auf die Schnelle machen Der XML Adapter wurde in der aktuellen Beta Version korrigiert. Bitte nochmal herunterladen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
erstmal vielen Dank für die schnelle Hilfe !!
Funktioniert!
eine weitere frage stellt sich mir nun:
Wie bekomme ich die "records" 1 oder 2 Level/Nodes weiter nach "unten"?
(Siehe Datei Output-Soll)
Mittels DatenSatzName funktioniert nicht , weil unzulässiges Zeichen "/"
Mittels RootElementName funktioniert, kommt die Meldung "kann [Root/test1/Record] nicht finden
Mittels XPath bringt nix, da XPath (n.m.W) nur eine Art "SuchHilfe" ist, und nix schreibt
Welche Einstellung muss ich ändern um es gemäss output-soll zu schreiben ?
Danke schön !
Happy Monday !
Cheers,
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
eigentlich sollte das über die Angabe im ROOT Element mit „root/test“ funktionieren, siehe Screenshot.
Hier ist jetzt dann wieder das Problem vorhanden, dass der Dokument ROOT nicht gefunden wird bzgl. den Namespace Angaben, etc.
Sie können das mal testen indem Sie den ersten Verarbeitungsschritt deaktivieren und nur den zweiten laufen lassen, XML Datei vorher löschen!
Ich muss mir das genauer anschauen, melde mich dann wenn es gefixt ist.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
das Problem mit dem XML Namespace wurde in der aktuellen Beta Version korrigiert, bitte nochmal herunterladen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
vielen Dank für Ihre schnelle Hilfe.
es ist jetzt möglich in tiefere Unter-Knoten zu schreiben.
Dabei ist mir allerdings aufgefallen, wenn ein UnterKnoten geschrieben wird , gehen evtl vorhanden Daten im Unterrknoten desselben namens verloren.
Zum besseren Verständnis habe ich meine arbeitsdateien angehängt.
die Ablaufbeschreibung ist wie folgt:
1. Schritt : Create xml file und attribute im root
2.Schritt : Schreibe Knoten (=DataArea mit Child "Header")
3.Schritt: Schreibe records nach "root/DataArea/records
das Ergebnis hat im root DataArea (samt Child "Header") UND record1 , record2 etc (Siehe Datei output)
wenn ich RootElementName ändere auf root/DataArea
dann wird root/DataArea geschrieben , aber das "DataArea/Child" ist weg.
was mache ich hier in den Einstellung falsch ?
was muss ich ändern um auf die benötigte Struktur (siehe output-SOLL) zu schreiben?
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
leider fehlen die angesprochenen Anhänge. Ich vermute aber, dass im letzten Verarbeitungsschritt die XML Datei überschrieben wird. Bitte pürfen Sie hier mal die XML Adapter Einstellungen.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
anbei die Zip Datei samt screenshot
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
In den Verarbeitungsschritten 2 +3 wird gemäß Einstellungen nix überschrieben
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
vielen Dank, jetzt kann ich es nachvollziehen. Das scheint jetzt ein kapitaler BUG im XML Adapter zu sein. Ich bin an der Analyse daran, geben Ihnen dann Bescheid sobald eine Lösung in Sicht ist.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
Der Fehler wurde in der aktuellen Beta Version bereinigt, bitte nochmal herunterladen. Im Anhang habe ich das Beispiel dementsprechend angepasst.
Download Beta Version
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
sorry das ich Sie nochmals wegen der verbesserung des xml Adapters kontaktiere.
Es fast gut aus, d.h. wie sind fast an meiner ZielDefinition angekommen.
Problem:
Der 3 Verarbeitungsschritt (add_DataRecords) schreibt ins RootElement des ersten Verarbetungsschrittes und nicht in das rootElement das ich im 3 Verarbeitungsschritt angebe.
Anbei als zip meine Arbeitsdateien und meine ZielDefinition/Struktur in die ich schreiben muss.
Nochmals herzlichen Dank für ihre Hilfe
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- FlowHeater-Team
- Offline
- Administrator
kein Problem, dafür ist das Forum ja da. Ganz im Gegenteil, eigentlich müsste ich mich bei Ihnen bedanken, dass Sie diese Fehler aufgedeckt haben.
In Ihrem Fall war jetzt noch das Problem, dass die Angabe des XML Unterknotens nur bis zur 2. Ebene ging. Das wurde in der aktuellen Beta Version eben korrigiert so dass die XML Unterknoten dynamisch zugeordnet werden. Wenn Sie das bitte nochmal testen könnten wäre super, Danke.
Im Anhang finden Sie die angepasste Definition.
gruß
Robert Stark
Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jens Kirsten
- Autor
- Offline
- Benutzer
- Beiträge: 10
ja, funktioniert,
Herzlichen Dank
Viele Grüße
Jens Kirsten
Bitte Anmelden oder Registrieren um der Konversation beizutreten.