- 概述
- 加密
- 数据库
- Java
- Python
- 网页 API
读取和反序列化 XML 文件
以下示例说明了如何使用“反序列化 XML”、“执行 XPath”、“”获取 XML 节点或“获取 XML 节点属性”等活动来读取、反序列化、访问和显示有关 XML 文件的各种信息。您可以在“UiPath.WebAPI.Activities”包中找到这些活动。
此自动化流程的构建方法如下:
- 打开 Studio ,创建一个新“流程”。
-
在 工作流设计器中拖动“序列”容器。
-
创建以下变量:
变量名称
变量类型
默认值
xml
字符串
xmlDeserialized
XDocument
xml_xpath_result
对象
xmlNodes
IEnumerable<XNode>
xmlAttributes
IEnumerable<XAttribute>
allExchRates
字符串
-
-
在序列中添加读取文本文件活动。
- 在“文件名”字段中添加表达式“
"daily_usd.xml"
”。 - 在属性面板中,向内容字段添加变量
xml
。
- 在“文件名”字段中添加表达式“
-
将“反序列化 XML”活动添加到“读取文本文件”活动之后。
- 在XML 字符串字段中添加
xml
变量。 - 在属性面板中,向XML 文档字段添加
xmlDeserialized
变量。
- 在XML 字符串字段中添加
-
将“执行 XPath”活动添加到“反序列化 XML”活动之后。
- 在现有 XML字段中添加
xmlDeserialized
变量。 - 在“ XPath 表达式 ”字段中添加表达式
"string(/channel/lastBuildDate)"
。 - 在“ 属性 ” 面板的“ 结果 ” 字段中添加变量
xml_xpath_result
。
- 在现有 XML字段中添加
-
在“执行 XPath”活动之后添加“消息框”活动。
- 在“文本”字段中添加表达式
"Exchange rates for " + xml_xpath_result.ToString
。
- 在“文本”字段中添加表达式
-
将“获得 XML 节点”活动添加到“消息框”活动之后。
- 在现有 XML字段中添加
xmlDeserialized
变量。 - 在属性面板中,向XML 节点字段添加
xmlNodes
变量。
- 在现有 XML字段中添加
-
将“获取 XML 节点属性”活动添加到“获取 XML 节点”活动之后。
- 在“ 现有 XML 节点 ” 字段中添加表达式
xmlNodes(0)
。 - 在属性面板中,向属性字段添加
xmlAttributes
变量。
- 在“ 现有 XML 节点 ” 字段中添加表达式
-
在“获取 XML 节点属性”活动之后添加“消息框”活动。
- 在“文本”字段中添加表达式
xmlAttributes(0).Name.Tostring + ": " + xmlAttributes(0).Value.Tostring
。
- 在“文本”字段中添加表达式
-
将“分配”活动添加到“消息框”活动之后。
- 在“收件人”字段中添加“
allExchRates
”变量。 - 在“值”字段中添加表达式“
"Exhange Rates" + System.Environment.NewLine
”。
- 在“收件人”字段中添加“
-
将“遍历循环”活动添加到“分配”活动之后。
- 在“值”字段中添加表达式“
xmlDeserialized.Element("channel").Elements("item")
”。 - 在“ 属性 ” 面板中,从“ 类型参数 ” 下拉列表中选择“ System.Xml.Linq.XElement ” 选项。
- 在“值”字段中添加表达式“
-
在“遍历循环”活动的“ 序列 ”容器中 添加 “分配”活动。
- 在“收件人”字段中添加“
allExchRates
”变量。 - 在“ 值 ” 字段中添加以下表达式:
allExchRates + System.Environment.NewLine + "1 " + item.Element("baseName").Value.ToString + " = " + item.Element("exchangeRate").Value.ToString + " " + item.Element("targetName").Value.ToString
。
- 在“收件人”字段中添加“
-
将“消息框”活动添加到“遍历循环”活动之后。
-
在“文本”字段中添加“
allExchRates
”变量。
-
- 运行流程。 系统将读取、反序列化和访问 XML 文件。 系统将显示几个消息框,其中包含从文件中提取的信息。
您可以在此处 下载示例。