1

我正在尝试使用 Azure 液体映射将以下 XML 转换为 JSON 以查找会话 ID。

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<LogInResponse xmlns="http://tempuri.org/RLXSOAP19/RLXSOAP19">
<LogInResult>
<ExceptionCode>0</ExceptionCode>
<ExceptionDescription>No error</ExceptionDescription>
</LogInResult>
<SessionID>A VALUE</SessionID>
</LogInResponse>
</soap:Body>
</soap:Envelope>

我正在尝试使用这个液体文件来转换 XML 以在 JSON 中找到 sessionID。

{
"Session": "{{content.soap:Envelope.soap:Body.LogInResponse.SessionID}}"
}

这只是在输出中不返回任何值:

{
  "Session": ""
}

有人可以帮我弄这个吗?

4

2 回答 2

3

作为使用流图的替代方法,您可以将 xml 数据包装在json()工作流函数中。该声明将如下所示:

@json(xml(outputs('Mock_example_data')))['soap:Envelope']['soap:Body']['LogInResponse']['SessionID']

使用上述xml函数是因为outputs来自名为Mock_example_data的Compose操作是字符串形式。

于 2019-03-07T18:26:25.560 回答
1

得到了答案,

{

"Session": "{{content.Envelope.Body.LogInResponse.SessionID}}"

}
于 2019-03-07T08:54:16.573 回答