Если вы просто хотите узнать, как десериализовать XML из строки JSON, вы можете использовать следующий код, в моем тесте я не буду вызывать другой Web-сервис, я полагаю, что десериализация является основной проблемой.
Вы можете использовать JsonConvert
для выполнения десериализации, и в моем тесте я верну XML напрямую.
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
XNode node = JsonConvert.DeserializeXNode(requestBody);
return new ContentResult { Content = node.ToString(), ContentType = "application/xml" };
}
Предположим, что после этого вы могли бы позвонить на запрос Webservice с этим XML, если у вас все еще есть другие проблемы, пожалуйста, не стесняйтесь сообщить мне.
Обновление : мое понимание того, что вы хотите чтобы выбрать какое-либо значение или удалить какое-либо значение, если да, вы можете сослаться на мой код ниже.
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
XmlDocument doc = JsonConvert.DeserializeXmlNode(requestBody);
XmlNode rootnode = doc.SelectSingleNode("listdata");
XmlNode Datenode = rootnode.SelectSingleNode("Date");
rootnode.RemoveChild(Datenode);
return new ContentResult { Content = doc.InnerXml.ToString(), ContentType = "application/xml" };
Я получаю данные json из запроса и возвращаю данные XML (удалите Date
узел).