Гораздо проще, если вы преобразуете XML в объект JSON и после разбора.И то, и другое можно сделать с помощью функций xml
и json
.
Кроме того, поскольку вы знаете формат XML, вы будететакже знать формат преобразованного JSON, что позволяет использовать действие Parse JSON
, чтобы получить простые токены для использования в остальной части приложения логики.
Затем вы можете напрямую использовать эти токеныв запросе SQL.
Вот приложение логики, которое показывает случаи этого (без шагов SQL и HTTP)

иего определение будет ясным
{
"definition": {
"$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
"actions": {
"CSV_Data": {
"inputs": {
"variables": [
{
"name": "random_data_csv",
"type": "String",
"value": "@{body('Parse_JSON')?['data']?['name']},@{body('Parse_JSON')?['data']?['awesome']}"
}
]
},
"runAfter": {
"Parse_JSON": [
"Succeeded"
]
},
"type": "InitializeVariable"
},
"Parse_JSON": {
"inputs": {
"content": "@json(xml(variables('random_data_xml')))",
"schema": {
"properties": {
"data": {
"properties": {
"awesome": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
}
},
"runAfter": {
"XML_Data": [
"Succeeded"
]
},
"type": "ParseJson"
},
"XML_Data": {
"inputs": {
"variables": [
{
"name": "random_data_xml",
"type": "String",
"value": "<data>\n<name>Azure Logic Apps</name>\n<awesome>true</awesome>\n</data>"
}
]
},
"runAfter": {},
"type": "InitializeVariable"
}
},
"contentVersion": "1.0.0.0",
"outputs": {},
"parameters": {},
"triggers": {
"manual": {
"inputs": {
"schema": {}
},
"kind": "Http",
"type": "Request"
}
}
}
}