需要 Xpath 表达式的帮助来计算分隔符后的非空值

问题描述 投票:0回答:1

我尝试让以下表达式在电源自动化流程中工作,但没有运气。该表达式的目标是对“|”之前的每个子字符串计算第二个“;”之后的所有非空值,以及“|”和第一个“;”之间的每个子字符串,例如数据样本中的“2024-09”。

xpath(
    outputs('Compose_3'),
    concat(
        'count(//root/item[starts-with(., "', 
        first(split(item(), '|')), 
        '") and normalize-space(substring-after(substring-after(., ";"), ";")) != "" and contains(., ";', 
        substring-before(substring-after(item(), "|"), ";"), 
        '")])'
    )
)

这是此 xpath 的示例输入:

"Data and Analytics|2024-09;2024-09-30;",
"Data and Analytics|2024-09;2024-09-30;",
"Enterprise App and Emerging Tech|2024-09;2024-10-01;",
"Enterprise App and Emerging Tech|2024-09;2024-10-01;",
"Mobility and Customer Experience|2024-09;2024-10-07;2024-12-31",
"Mobility and Customer Experience|2024-09;2024-10-07;2024-12-31",
"Mobility and Customer Experience|2024-10;2024-10-27;2024-11-07",
"Data and Analytics|2024-10;2024-10-23;2024-12-08",
"Data and Analytics|2024-10;2024-10-23;2024-12-08",
"Cloud - Infra - CS and Obser|2024-10;2024-10-24;2024-12-15"
xpath power-automate
1个回答
0
投票

有必要坚持使用 xml 和 xpath 吗?如果您根据输入创建一个数组,然后找到字符串的起始位置和结束位置,然后创建结果字符串的数组,该怎么办? (例如:“Data and Analytics|2024-09;2024-09-30;”:您需要第 19 到 27 个字符之间的子字符串,结果将为“2024-09”)。

Action steps of the flow

地点:

  1. “适用于每个”:

    变量('varArray')

  2. “撰写 - 开始”:

    add(indexOf(item(),'|'),1)

  3. “撰写 - 长度”:

    substring(item(),outputs('Compose_-Start'),outputs('Compose-_Length'))

  4. 追加到数组变量:

    输出('撰写')

© www.soinside.com 2019 - 2024. All rights reserved.