Formularwerte aus XML importieren
Aktionen des Typs XML einlesen und Formularfelder setzen ermöglichen es, Formularfelder mit dem Inhalt eines XML-Dokuments zu befüllen. Hierzu wird für jedes zu befüllende Formularfeld ein XPath angegeben auf einen entsprechend Wert im XML angegeben.
Parameter
- XML-Quelle aus Aktion
- Dateibereitstellende Aktion, aus der das XML-Dokument gelesen wird.
- Optionales XSL-Template auswählen
- Optional kann ein XSL-Template festgelegt werden, welches das XML-Dokument vor der Auswertung transformiert.
- Zu setzende Werte (XPath festlegen)
- In der Tabelle können für Formularelemente betimmte Werte aus dem XML-Dokument gesetzt werden.
- Feldname
- Name des Formularelements, dessen Wert gesetzt wird.
- XPath
- XPath auf einen Wert im XML-Dokument, dessen Wert in das Formularfeld eingetragen wird.
Beispiel
Zur Verdeutlichung sei ein kurzes Beispiel für die Nutzung von XPaths gegeben. Beispielweise sehe das XML-Dokument wie folgt aus:
<?xml version="1.0" encoding="UTF-8"?>
<xfc-data xfc-version="4.5.2" generation-date="2017-01-09 11:23:43.190 MEZ">
<processes>
<process process-uid="f1e677ad-012d-4586-884b-ac2ee029cb00" creation-date="2017-01-09 11:23:43.0 MEZ" project-name="XML" status="">
<form version="1">
<field name="upl1">
<plainValue><![CDATA[]]></plainValue>
<values count="0"/>
<label><![CDATA[]]></label>
</field>
<field name="tf1">
<plainValue><![CDATA[foobar]]></plainValue>
<values count="1">
<value index="0"><![CDATA[foobar]]></value>
</values>
<label><![CDATA[]]></label>
</field>
<field name="xf-action">
<plainValue><![CDATA[btnPrev]]></plainValue>
<values count="1">
<value index="0"><![CDATA[btnPrev]]></value>
</values>
<label><![CDATA[]]></label>
</field>
</form>
</process>
</processes>
</xfc-data>
<xfc-data xfc-version="4.5.2" generation-date="2017-01-09 11:23:43.190 MEZ">
<processes>
<process process-uid="f1e677ad-012d-4586-884b-ac2ee029cb00" creation-date="2017-01-09 11:23:43.0 MEZ" project-name="XML" status="">
<form version="1">
<field name="upl1">
<plainValue><![CDATA[]]></plainValue>
<values count="0"/>
<label><![CDATA[]]></label>
</field>
<field name="tf1">
<plainValue><![CDATA[foobar]]></plainValue>
<values count="1">
<value index="0"><![CDATA[foobar]]></value>
</values>
<label><![CDATA[]]></label>
</field>
<field name="xf-action">
<plainValue><![CDATA[btnPrev]]></plainValue>
<values count="1">
<value index="0"><![CDATA[btnPrev]]></value>
</values>
<label><![CDATA[]]></label>
</field>
</form>
</process>
</processes>
</xfc-data>
Zum Selektieren des Wertes des Feldes mit Namen tf1 kann der folgende XPath genutzt werden.
//processes//field[@name="tf1"]/plainValue/text()