Json 无法在azure logic apps中解析包含空内容的xml

Json 无法在azure logic apps中解析包含空内容的xml,json,xml,azure,azure-logic-apps,Json,Xml,Azure,Azure Logic Apps,我得到一个具有以下结构的XML <?xml version="1.0" encoding="UTF-8"?> <Data> <datym> <bla bla> </datym> <datym> <bla bla> </datym> </Data> 我可以成功地将其解析为json并完成所有工作。有时,我会得到一个具有以下格式的空xml <

我得到一个具有以下结构的XML

<?xml version="1.0" encoding="UTF-8"?>
<Data>
   <datym>
     <bla bla>
   </datym>
   <datym>
     <bla bla>
   </datym>
</Data>

我可以成功地将其解析为json并完成所有工作。有时,我会得到一个具有以下格式的空xml

<?xml version="1.0" encoding="UTF-8"?>
<Data></data>

但是,这无法使用逻辑应用程序解析为xml或json。那么,如果这是可解析xml或空xml,如何进行验证?我曾想过在初始化字符串后使用contains()函数,但这对性能造成了巨大的影响


谢谢你的想法。

我认为你的空xml示例是可以分析的。我尝试将xml文件解析为json文件。这是我的xml内容

<Invoices
xmlns="http://gateway.com/schemas/Invoices"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://gateway..com/schemas/Invoices Invoices.xsd">
<DocumentInfo></DocumentInfo>
<Header></Header>
<Documents></Documents>
</Invoices>
也许你可以参考我的逻辑应用程序流程。我使用了一个xml文件作为显示


希望这能对您有所帮助,如果您还有其他问题,请告诉我。

我确实找到了解决方法。所以我想我会回答我自己的问题,这样将来其他人会发现它很有用

我的方法是使用XPATH

只需检查第一个节点。若返回空数组,则返回空数组,否则继续正常处理

xpath(xml(base64ToString(variables('content'))),'//datym')


实际上,我使用了XPATH,而且它很有效。谢谢你的建议。
xpath(xml(base64ToString(variables('content'))),'//datym')
xpath(xml(base64ToString(variables('content'))),'//datym[1]')