- Overview
- Cryptography
- Database
- Java
- Python
- WebAPI
Read and Deserialize an XML File
The following example explains how to use activities such as Deserialize XML, Execute XPath, Get XML Nodes, or Get XML Node Attributes for reading, deserializing, accessing, and displaying various information about an XML file. You can find these activities in the UiPath.WebAPI.Activities package.
This is how the automation process can be built:
- Open Studio and create a new Process.
-
Drag a Sequence container in the Workflow Designer.
-
Create the following variables:
Variable Name
Variable Type
Default Value
xml
String
xmlDeserialized
XDocument
xml_xpath_result
Object
xmlNodes
IEnumerable<XNode>
xmlAttributes
IEnumerable<XAttribute>
allExchRates
String
-
-
Add a Read Text File activity inside the Sequence.
- Add the expression
"daily_usd.xml"
in the File Name field. - In the Properties panel, add the variable
xml
in the Content field.
- Add the expression
-
Add a Deserialize XML activity after the Read Text File activity.
- Add the variable
xml
in the XML String field. - In the Properties panel, add the variable
xmlDeserialized
in the XMLDocument.
- Add the variable
-
Add an Execute XPath activity after the Deserialize XML activity.
- Add the variable
xmlDeserialized
in the Existing XML field. - Add the expression
"string(/channel/lastBuildDate)"
in the XPath Expression field. - In the Properties panel, add the variable
xml_xpath_result
in the Result field.
- Add the variable
-
Add a Message Box activity after the Execute XPath activity.
- Add the expression
"Exchange rates for " + xml_xpath_result.ToString
in the Text field.
- Add the expression
-
Add a Get XML Nodes activity after the Message Box activity.
- Add the variable
xmlDeserialized
in the ExistingXML field. - In the Properties panel, add the variable
xmlNodes
in the XMLNodes field.
- Add the variable
-
Add a Get XML Node Attributes activity after the Get XML Nodes activity.
- Add the expression
xmlNodes(0)
in the Existing XML Node field. - In the Properties panel, add the variable
xmlAttributes
in the Attributes field.
- Add the expression
-
Add a Message Box activity after the Get XML Node Attributes activity.
- Add the expression
xmlAttributes(0).Name.Tostring + ": " + xmlAttributes(0).Value.Tostring
in the Text field.
- Add the expression
-
Add an Assign activity after the Message Box activity.
- Add the variable
allExchRates
in the To field. - Add the expression
"Exhange Rates" + System.Environment.NewLine
in the Value field.
- Add the variable
-
Add a For Each activity after the Assign activity.
- Add the expression
xmlDeserialized.Element("channel").Elements("item")
in the Values field. - In the Properties panel, select the System.Xml.Linq.XElement option from the TypeArgument drop-down list.
- Add the expression
-
Add an Assign activity inside the Sequence container of the For Each activity.
- Add the variable
allExchRates
in the To field. - Add the following expression in the Value field:
allExchRates + System.Environment.NewLine + "1 " + item.Element("baseName").Value.ToString + " = " + item.Element("exchangeRate").Value.ToString + " " + item.Element("targetName").Value.ToString
.
- Add the variable
-
Add a Message Box activity after the For Each activity.
-
Add the variable
allExchRates
in the Text field.
-
- Run the process. The XML file is read, deserialized, and accessed. A few message boxes are displayed with information extracted from the file.
Here you can download an example.