- 概述
- 加密
- 数据库
- 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 字符串字段中添加
-
在“ 反序列化 XML ” 活动下方添加一个“执行 XPath ” 活动。
- 在现有 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 文件。 系统将显示几个消息框,其中包含从文件中提取的信息。
您可在此处下载示例。