Drop a tFileInputMSXML component from the
Palette onto the design workspace and
double-click the component to open its Basic
settings view in the Component tab.
Browse to the XML file you want to process. In this example, it is
D:/Input/multischema_xml.xml, which
contains the following data:
<root>
<toy>Cat</toy>
<record>We Belong Together</record>
<book>As You Like It</book>
<book>All's Well That Ends Well</book>
<record>When You Believe</record>
<toy>Dog</toy>
</root>
In the Root XPath query field, enter the
root of the XML tree, which the query will be based on. In this example, it
is "/root".
Select the Enable XPath in column "Schema XPath
loop" but lose the order check box.
In this example, to extract the desired fields, you need to define a XPath
path in the Schema XPath loop field in the
Outputs table for each output flow
while not keeping the order of the data shown in the source XML file.
Click the plus button to add lines in the Outputs table where you can define the output schemas,
record and book in this
example.
In the Outputs table, click in the
Schema cell and then click a [...]
button to display a dialog box where you can define the schema name.
Enter a name for the output schema and click OK to close the dialog box.
The tFileInputMSXML schema editor
appears.
Define the schema according to your need.
Do the same to define the output schema record.
In the Schema XPath loop cell, enter the
node of the XML tree, which the loop is based on. In this example, enter
"/book" and "/record" respectively.
In the XPath Queries cell, enter the
fields to be extracted from the structured XML input. In this example, enter
the XPath query ".".
In the design workspace, drop two tLogRow components from the Palette
and connect tFileInputMSXML to
tLogRow1 and tLogRow2 using the book and
record links respectively.
Rename the two tLogRow
components as book and record
respectively.
Did this page help you?
If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!