Hilfe - XML aus Dynamischer Tabelle auslesen

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
AminoX
Beiträge: 18
Registriert: 02.07.2014, 12:30

Hilfe - XML aus Dynamischer Tabelle auslesen

Beitrag von AminoX » 27.10.2014, 12:30

Hallo alle zusammen:-)

Nach vielen durchgemachten Nächten habe ich nun als blutiger Anfänger mein erstes dynamisches Formular entwickelt, auf das ich auch fast ein wenig stolz bin :-)
Leider ist es noch nicht ganz perfekt, denn auf der Zielgeraden stosse ich auf ein Problem für das ich einfach keine Lösung finde.

Ich exportiere die Daten aus dem Formular mittels XML um sie dann in ein Excel-Tabelle einzulesen.
Nun habe ich in meinem Formular eine Tabelle die man vervielfältigen kann.
Wenn man diese Tabelle nun vervielfältigt, und verschieden Daten eingibt, so haben diese in der Xml Datei alle die gleiche Bezeichnung und ich kann sie in Excel nicht separat zuordnen. Das hesiit in der xml-Datei heissen beide Tabellen z.B: "TabelleStandort" und sind auch an der gleichen sTelle in der xml-Struktur.

Excel lässt mich nun diese Werte nicht einzeln ansprechen, sondern sammelt sie irgendwo und ich kann nur alle Werte zusammen übernehmen, was dazu führt dass er mir in mein Tabellenfeld eine eigene kleine Tabelle reinmacht.

Ich möchte aber den Wert aus der ersten "TabelleStandorte" in das erste Spreadsheet (Reiter) importieren und den zweiten Wert aus der zweiten "TabelleStandorte" in ein zweites Sheet usw..

Jetzt bin ich mir nichtmal sicher, ob es ein Excel Problem oder ein Problem mit meinem PDF ist und sehe auch mehrere Möglichkeiten (bei keiner weiss ich allerdings wie ich sie umsetzen kann).

1.) Ich bringe meinem Formular bei, wenn man die Tabelle erweitert, soll es neue Namen für die Werte vergeben, so dass ich hinterher für jede Tabelle eine eindeutige Zuordnung habe. Bspw. die erste Tabelle würden dann "TabelleStandort1" und wenn man erweiter dann "TabelleStandort2" heissen. Ich mache dann ein Excel mit ganz vielen sheets und würde alle Werte korrekt zuordnen (bis max 10 Standorte bspw).

2.) Man bringt Excel irgendwie bei, mit den Daten anders umzugehen, d.h sie nicht alle zu übernehmen sondern immer nur einen. Hier wäre es perfekt wenn Excel mir statt der Tabelle die es immer anzeigt, für jeden weiteren Wert das gleiche Spreadsheet nochmal neu öffnen und erstellen könnte..

Puuuh, ich hoffe ich habe mich halbwegs verständlich ausgedrückt und hoffe es kann mir hier jemand helfen..

Grüsse und vielen Dank schon mal
Chris



Benutzeravatar
radzmar
Beiträge: 962
Registriert: 26.10.2011, 10:18

Hilfe - XML aus Dynamischer Tabelle auslesen

Beitrag von radzmar » 27.10.2014, 21:08

Also meine Erfahrungen mit Excel und XML-Dateien haben folgendes gezeigt:
Excel kann wirklich nur sehr einfache XML-Strukturen verarbeiten, die maximal ein sich wiederholendes Element erhalten dürfen.
Alles andere bekommt Excel nicht in seiner 2-dimensionalen-Struktur so gar nicht abgebildet.

Unter Entwicklertools > Quelle kann man neue XML-Verknüpfungen hinzufügen zum jeweiligen Arbeitsblatt (Reiter) hinzufügen. Als Quelle kann man hier seine XML-Datei nehmen oder besser ein XML-Schema (XSD).
Aus der Quelldatei leitet Excel dann eine entsprechende Struktur ab, aus der man sich dann einzelene Felder oder ganze Abschnitte in seine Tabelle ziehen kann.
Man kann dann einfach XML-Daten im- und wieder exportieren.
Aber eben nur, wenn die Struktur nicht zu komplex ist.

AminoX
Beiträge: 18
Registriert: 02.07.2014, 12:30

Hilfe - XML aus Dynamischer Tabelle auslesen

Beitrag von AminoX » 27.10.2014, 21:27

Oh nein oh nein oh nein .-)) Ich hab jetzt nicht Wochen daran gearbeitet, nur damit ich hinterher auf der Zielgeraden aufgeben muss... Ich will doch nur ein paar Daten in meine Excel bekommen... Ja, dummerweise sind grade diese welche, die mehrfach vorkommen können..

Danke trotzdem für deine Antwort! Weiss vielleicht sonst jemand ne Lösung?

Ist es irgendwie möglich den Feldnamen unter "Bindung" für diese Elemente zu ändern, sobald man die Tabelle erweitert? Mit Javascript irgendwie?
Das müsste ja verhindern, dass in der xml Datei hinterher sich wiederholende Dokumente sind?

Benutzeravatar
radzmar
Beiträge: 962
Registriert: 26.10.2011, 10:18

Hilfe - XML aus Dynamischer Tabelle auslesen

Beitrag von radzmar » 27.10.2014, 22:11

Die XML darf ein sich wiederholendes Element enthalten.
Wenn das z.B. eine Tabellenzeile ist, die dann wiederum Zellen mit Werten beinhaltet, ist das kein Problem für Excel, da sich das je 1:1 auf die Spalten und Zeile übertragen lässt (1 Zeile je Tabellenzeile und 1 Spalte je Tabellenzelle).

Nur sich wiederholende Elemente in sich wiederholenden Elementen wie z.B. bei verschachtelten Tabellen oder mehrere Elemente mit sich wiederholende Elementen wie zwei dynamische Tabellen gehen halt nicht.

Die XML lässt sich auch mittels eines Stylesheets (XSLT) beliebig manipulieren.
So kann man damit eine ganz andere Struktur exportieren, als eigentlich im Formular vorhanden ist, Felder umbennen, hinzufügen oder weglassen.
Allerdings ist das nicht gerade einfach, da XSLT eine ziemlich schwere Sprache ist und Übung braucht.

http://de.wikipedia.org/wiki/XSL_Transformation

AminoX
Beiträge: 18
Registriert: 02.07.2014, 12:30

Hilfe - XML aus Dynamischer Tabelle auslesen

Beitrag von AminoX » 28.10.2014, 08:05

Hmmm.. Da keimt ein kleiner Hofnungsschimmer in mir auf, ich bin aber nicht sicher ob ich das richtig verstanden habe..

Ich habe nur ein sich wiederholendes Element. Es befindet sich in einem eigenen Teilformular. In diesem Element (es heisst Tabelle1) sind abere mehrere Tabellen enthalten. Und das Element darf sich beliebig oft wiederholen. Ich möchte alle Werte in allen Tabellen dieses Elements separat ansprechen können. Momentan habe ich aber in der XML Datei (Windows-Editor) einfach ganz viele "Tabelle1" untereinander. In Excel dann habe ich nur eine "Tabelle1" - leider verstecken sich dann hinter der Feldbezeichnung gleich mehrere Werte... Das muss irgendwas wit dieser "dataNode (datagroup)" zu tun haben..... Die steht vor allen mehrfach vorkommenden Elementen.

Meinst du das kann man hinbekommen, wenn man irgendwie die Struktur ändert?
Dann würde wieder zum Tragen kommen, dass meine Struktur eh voll Kraut und Rüben ist, da ich einfach drauf los gebastelt hatte und mir anfangs gar keine Gedanken darum gemacht habe..

Und noch was.. Komischerweise sind bei mir in Excel auch weitere Elemente als "mehrfach vorkommend" markiert, die aber unterhalb der sich wiederholenden Tabelle liegen und gar nicht mehrfach vorkommen können.. Woran liegt das? Kann ich es irgendwie ausschalten?

Ich hab meine Datei mal angehängt, vielleicht hilft das weiter...


Antworten