You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在UiPath中如何提取XML重名标签的第二个节点,无第二个则取第一个?

解决方法

核心思路

通过带判断逻辑的XPath表达式直接匹配目标节点,无需额外编写条件分支,逻辑为:取每个<Example>节点下的最后一个<Address>节点值,刚好适配「有2个取第二个,仅1个取第一个」的需求。

UiPath 操作步骤

  • 先将你的XML内容加载到一个XmlDocument类型的变量中,例如变量命名为xml_Doc
  • 拖拽「Execute XPath」活动到流程中,按如下配置属性:
    • XMLDocument字段:选择提前定义的xml_Doc变量
    • XPathString字段:填入表达式 //Example/Address[last()]/text()
    • 输出Result字段:将变量类型设置为IEnumerable<XmlNode> 或 List<String>,不要使用单个String类型,避免UiPath默认只返回第一个匹配结果

结果验证

针对你提供的示例XML,运行后将返回两个结果:New York US、Nairobi KE,完全符合需求。

备选方案

如果你需要逐个处理每个<Example>节点,可以先遍历所有//Example节点,在循环内对当前节点执行相对路径查询./Address[last()]/text(),得到对应节点的目标地址值。

问题原因说明

你之前只返回第一个标签值,是因为未指定节点索引规则,且输出变量使用了单个字符串类型,UiPath默认取首个匹配结果赋值。

内容的提问来源于stack exchange,提问作者Joana Pinto

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:27:05