【问题标题】:ms365 power automate online: how to get xml attribute values for a particular text valuems365 power automate online:如何获取特定文本值的 xml 属性值
【发布时间】:2022-11-23 13:24:50
【问题描述】:

我希望仅提取 wow:rank 值,> 和 < 之间的文本以 BOOM- 开头。我能够获取 > 和 < 之间以 BOOM- 开头的文本值 - 使用 power automate 365 online 中的过滤器,但我无法同时获取 wow:rank 属性值。任何帮助将不胜感激!

<category wow:rank="0">EIGEGenderEquality</category>
<category wow:rank="9" >BOOM-A0304-DiscriminatoryPracticesOnTheBasisOfSex</category>
<category wow:rank="0">EIGEGenderEquality</category>
<category wow:rank="5" url = "www.google.ca">BOOM-EIGEGenderEquality</category>

祝你有美好的一天! :)

【问题讨论】:

    标签: power-automate


    【解决方案1】:

    看起来 PowerAutomate xpath 表达式(与 xml 结合)不处理属性的提取。它仅提供根据提供的给定 xquery 表达式过滤所有元素的能力。

    在这种情况下,您可以在 XML 中的每个元素上使用以下表达式来获取结果......

    replace(split(split(variables('XML String'), 'wow:rank="')[1], '"')[0], '"', '')
    

    ...在下面的Initialize wow:rank步骤中应用。

    除此之外,您可以通过对为您执行此操作的服务进行 API 调用来使其变得更加复杂,但这可能需要做更多的工作,而且并不值得。

    如果您的情况更复杂,那么我会考虑这样做。

    【讨论】:

    • 非常感谢!你知道是否有 API 可以做到这一点?通过 API,您是指 Power Automate 之外的函数调用吗?
    • 我没看过,但我怀疑你需要自己写。如果您已经接受了我的回答,那么您可以这样标记它吗?它奖励那些提供帮助的人。
    • 实际上,我只是刚刚意识到你的最后一个元素有一个额外的属性,我的答案对那个不起作用,所以我需要更新它。会这样做并让你知道。
    • 答案已更新。
    • 我该如何接受你的回复?我找不到按钮
    【解决方案2】:

    您可以使用 @ 符号(如 @wow:rank)轻松获取属性。

    在“适用于每个”中,您将使用:

    xpath(xml(item()), 'string(/category/@wow:rank)')

    循环遍历它们中的每一个。

    【讨论】:

      猜你喜欢
      • 2012-01-16
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-07
      • 2021-09-16
      • 1970-01-01
      相关资源
      最近更新 更多