Ответ 1
Веб-API ASP.NET использует согласование контента для автоматического десериализации входящего HTTP-запроса в класс модели. Исходя из этого, это будет работать с любым сообщением XML, JSON или wwww-form-urlencoded.
public class ComputerController : ApiController
{
public void Post(ComputerInfo computer)
{
// use computer argument
}
}
Создайте класс модели, который отображает свойства XML.
public class ComputerInfo
{
public string Processor { get; set; }
public string HardDrive { get; set; }
}
Этот входящий XML будет десериализован для гидратации параметра компьютера в методе Post.
<ComputerInfo>
<Processor>AMD</Processor>
<HardDrive>Toshiba</HardDrive>
</ComputerInfo>
Если по какой-либо причине вы хотите вручную прочитать и проанализировать входящий XML файл, вы можете сделать это следующим образом:
string incomingText = this.Request.Content.ReadAsStringAsync().Result;
XElement incomingXml = XElement.Parse(incomingText);