问题描述
我正在使用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()