从逻辑应用程序检索XML数据时出现问题

问题描述

我正在使用Logic Apps处理位于Azure blob中的一系列XML文件。我在检索XML节点的内容时遇到问题。我的XML是:

<Provider xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" MyID="805" MySecondID="027" MyDate="2020-08-11T09:33:35" ID="1000" xmlns="urn:GeoAccess.PDE.Provider">
  <LastName>PersonalName</LastName>
  <FirstName>NotPersonalName</FirstName>
</Provider>

当我在https://www.freeformatter.com/xpath-tester.html上尝试XPath测试器时,此表达式可以正常工作:

/Provider/LastName/text()

当我在逻辑应用程序中尝试使用以下命令时:

@xpath(xml(body('Get_blob_content')),'/Provider/LastName/text()')

我得到一个空字符串。

我应该怎么做?

解决方法

默认情况下名称空间xmlns="urn:GeoAccess.PDE.Provider"的问题原因。您需要 考虑到这一点。

使用xpath在Logic Apps中解决了该问题:

/ [local-name()=“ Provider”和 namespace-uri()=“ urn:GeoAccess.PDE.Provider”] / [local-name()=“ LastName”] / text()