我有一个 Web API,可以读取 XML 并将其传递给适当的模型进行处理。
我如何接收传入的 XML?我应该使用哪种数据类型?
我是否使用 StreamReader
、StreamContent
或 XmlDocument
或其他?
最佳答案
ASP.NET Web API 使用内容协商自动将传入的 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);
关于c# - 如何从 ASP.NET Web API 读取 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18607381/