在Logic Apps中,我们执行ParseJson操作,该操作提供了各个字段。
但是解析XML的等效方法呢?
例如,如果我有一个XML over HTTP Web服务,该服务接收到XML正文...
<root>
<person>
<firstname>Paul</firstname>
<lastname>Getty</lastname>
</person>
<person>
<firstname>John</firstname>
<lastname>Denver</lastname>
</person>
</root>
我如何获得与ParseJson
操作为每个XML元素(和属性)生成令牌的类似体验?
答案 0 :(得分:2)
json(XML(Body('WhateverYouAreParsing')))。我的意思是,您始终可以将XML转换为JSON并将其作为JSON使用。我想如果您确实需要使用XML进行回复,则可以使用XML()将其重铸为XML,但这可能需要做一些额外的工作。或将Transform XML与集成帐户和地图一起使用。
也可以使用azure函数进行解析。
答案 1 :(得分:0)
您不能直接这样做。
我正在做的是我通过XML间接解析它-就像@AdAstra提到的那样。
为XML生成json模式-您可以使用任何在线转换器,例如https://codebeautify.org/xmltojson
对于您的XML,Json如下所示:
{
"root": {
"person":
[
{
"firstname": "Paul",
"lastname": "Getty"
},
{
"firstname": "John",
"lastname": "Denver"
}
]
}
}
使用具有TriggerBody作为内容的解析JSON控件,并将生成的模式粘贴到“使用示例有效负载生成模式”中-(这将为您生成Json模式)
输入Expression以将XML解析为Json(使用Parse Json Component中的Content字段-> Expression-> json(xml(triggerBody()))
现在,您可以在Logic App设计器中将您的结构用作动态对象: