xpath xml根据同级值获取第一个值

xpath xml根据同级值获取第一个值,xpath,contains,azure-logic-apps,Xpath,Contains,Azure Logic Apps,我有一个逻辑应用程序,用于在下面的XML显示中获取值。我需要获取第一个ws:Transaction\u Entry\u时刻,该时刻包含“ID Change”文本,并且ws:Is\u reversed\u或\u reversed值必须为“false” 如果我删除xpath中的包含,如下所示,它将获取第一个ws:Is_reversed_或_reversed,其中为“false” 我使用的容器有什么问题吗?实现这一点的正确方法是什么 @用于指向属性而不是元素 谓词应用于错误的元素 试试这个 'stri

我有一个逻辑应用程序,用于在下面的XML显示中获取值。我需要获取第一个ws:Transaction\u Entry\u时刻,该时刻包含“ID Change”文本,并且ws:Is\u reversed\u或\u reversed值必须为“false”

如果我删除xpath中的包含,如下所示,它将获取第一个ws:Is_reversed_或_reversed,其中为“false”

我使用的容器有什么问题吗?实现这一点的正确方法是什么

  • @
    用于指向属性而不是元素
  • 谓词应用于错误的元素
  • 试试这个

    'string(/*[local-name()=\"Transaction_Log_Data\"]/
       *[local-name()=\"Transaction_Log_Entry\" and contains(*[local-name()=\"Transaction_Log_Description\"], \"ID Change\")]/
          *[local-name()=\"Is_Rescind_Or_Rescinded\" and .= \"false\" ][position() = 1]/../
              *[local-name()=\"Transaction_Entry_Moment\"])' 
    
    "DATE": "@xpath(xml(triggerBody()), 'string(/*[local-name()=\"Transaction_Log_Data\"]/*[local-name()=\"Transaction_Log_Entry\"]/*[local-name()=\"Is_Rescind_Or_Rescinded\" and .= \"false\" and contains(@*[local-name()=\"Transaction_Log_Description\"], \"ID Change\")][position() = 1]/../*[local-name()=\"Transaction_Entry_Moment\"])')"
    
    "DATE": "@xpath(xml(triggerBody()), 'string(/*[local-name()=\"Transaction_Log_Data\"]/*[local-name()=\"Transaction_Log_Entry\"]/*[local-name()=\"Is_Rescind_Or_Rescinded\" and .= \"false\"][position() = 1]/../*[local-name()=\"Transaction_Entry_Moment\"])')"
    
    'string(/*[local-name()=\"Transaction_Log_Data\"]/
       *[local-name()=\"Transaction_Log_Entry\" and contains(*[local-name()=\"Transaction_Log_Description\"], \"ID Change\")]/
          *[local-name()=\"Is_Rescind_Or_Rescinded\" and .= \"false\" ][position() = 1]/../
              *[local-name()=\"Transaction_Entry_Moment\"])'