繁体   English   中英

如何在ASP.NET中发送包含XML数组的POST请求

[英]How to send POST requests containing an XML array in ASP.NET

我试图通过包含XML数组的其余部分来接收发布请求的能力,如果我单独发布它可以正常工作,但是我尝试发布一个数组,它说:

第1行的位置140出错。期望元素。

我的目标是具有接收数组或个人并将其发布到SQL中的能力。

这是我想要的XML形式:同样,如果我可以删除xmlns,那会很好,但我不知道如何:

<ArrayOfT_persons xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/RestDataAccess">
<T_persons>
  <Name>jhon</Name>
  <DATETIME>2019-07-29T15:51:41.2540564+03:00</DATETIME>
  <GRADE>A</GRADE>
  <AGE>16</AGE>
</T_persons>
<T_persons>
  <Name>Will</Name>
  <DATETIME>2019-07-29T15:51:41.2540564+03:00</DATETIME>
  <GRADE>C</GRADE>
  <AGE>18</AGE>
</T_persons>
</ArrayOfT_persons>

这是发布方法

[ResponseType(typeof(T_persons))]
public async Task<IHttpActionResult> PostT_persons(T_persons t_persons)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }

    db.T_persons.Add(t_persons);

    try
    {
        await db.SaveChangesAsync();
    }
    catch (DbUpdateException)
    {
        if (T_personsESExists(t_persons.NAME))
        {
            return Conflict();
        }
        else
        {
            throw;
        }
    }

    return CreatedAtRoute("DefaultApi", new { id = T_persons.NAME }, t_persons);
}

最可能的答案是,需要TPerson列表:

public async Task<IHttpActionResult> PostT_persons(List<T_persons> t_persons)
{ 
   ...
}

乍一看,该对象也应命名为TPerson(理想情况下,也应不同于您所显示的名称:

List<TPerson> TPersons;

对象的外观如下所示:

public class TPerson
{
    public string Name {get; set;}
    public DateTime DateTime {get; set;}
    public char Grade { get; set; }
    public int Age { get; set; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM