映射 XML

根据 XPath 表达式的参数以 XML (eXtensible 标记语言) 格式映射数据,并将其保存到映射的变量。

命令可用性: 本地 IBM RPA SaaS 和 IBM RPA

描述

使用此命令可从 XML 格式的文档,数据,配置,书籍,交易,发票和任何其他文件获取信息。 请参阅 XML 🡥 以获取详细信息。

限制

以下限制适用于此命令:

  • 如果 XML 内容具有同名的名称空间和节点,那么无法选择特定节点。 必须使用正则表达式来获取特定节点。
  • 如果 XML 内容具有名称空间和具有子节点的节点,那么无法从父代获取所有子代。 必须使用正则表达式来解析子节点。

脚本语法

IBM RPA 的专有脚本语言的语法与其他编程语言类似。 该脚本语法在脚本文件中定义命令的语法。 您可以在 IBM RPA Studio的 "脚本" 方式下使用此语法。

mapXml --xml(String) [--removenamespaces(Boolean)] --mappings(String)

输入参数

下表显示了此命令中提供的输入参数的列表。 在表中,您可以看到在 IBM RPA Studio的脚本方式及其 Designer 方式等效标签中工作时的参数名称。

设计器方式标签 脚本方式名称 必需的 接受的变量类型 描述
XML xml Required Text 要映射的 XML 中的文本。
除去名称空间 removenamespaces Optional Boolean 使其能够除去 XML 文本中包含的名称空间。
映射 mappings Required Text 基于从同一 HTML 文本中抽取的 XPath 表达式来映射 XML 文本。
在此参数中,您可以根据需要输入任意数目的映射,并且对于每个参数,您必须指定一个变量以接收抽取的值。

参数 字段中,输入要映射的元素的 XPath。
字段中,输入类型为 Text 的变量以接收所映射元素的内容。

示例

此命令从 XML 参数中输入的 XML 文本映射数据,该参数表示消息的基本结构,并将每个标识的参数抽取到指定的变量。

defVar --name sender --type String
defVar --name recipient --type String
defVar --name messageSubject --type String
defVar --name messageHeader --type String
// Text in XML format.
defVar --name xmlMessage --type String --value "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n  <note>\r\n       <to>Tove</to>\r\n       <from>Jani</from>\r\n       <heading>Reminder</heading>\r\n       <body>Don\'t forget me this weekend!</body>\r\n   </note>"
// Mapping of each XML element entered in each XPath expression.
mapXml --xml "${xmlMessage}" --mappings "to==${sender},from==${recipient},heading==${messageSubject},body==${messageHeader}"
logMessage --message "From: ${sender}\r\nTo: ${recipient}\r\nSubject: ${messageSubject}\r\nMessage: ${messageHeader}" --type "Info"
// The above example displays the XML fields corresponding to the sender, recipient, subject, and message:
// From: Jani
// To: Tove
// Subject: Reminder
// Message: Don't forget me this weekend!