使用邮递员,C#,. NET Framework 4.7
我从Postman发出GET请求,并将content-accept设置为“ application / xml”,我的.NET Framework Web API将以XML响应(非常棒!)。我不需要手动序列化任何东西,因为当我返回Request.CreateResponse(HttpStatusCode.OK, myResponse)
时,.NET Framework序列化了我的响应对象。
但是,似乎包含了一些我不熟悉的额外内容,我想知道是否可以通过Global.asax设置或类似内容将其删除?
<error i:nil="true" />
会在为空时弹出。当它为null时是否可能只是出现或不出现?因此,XML响应如下所示:
<SimpleResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/dto.MyModels"> <error i:nil="true" /> <result> <bookList xmlns:d3p1="http://schemas.datacontract.org/2004/07/dto.MyModels.Shared"> <d3p1:Book> <d3p1:bookname>Book 1 Name</d3p1:bookname> <d3p1:serial>ZMeTaQ1kejh0mJYGHE4+1a4Y2juU6tMDd5zYDqN4tqI=</d3p1:serial> <d3p1:id>4</d3p1:id> </d3p1:Book> <d3p1:Book> <d3p1:bookname>Hello World</d3p1:bookname> <d3p1:serial>9lM16kho3bgsrG+wRh4ejtZjwrYJwp6FbRqnnZ4CJPA=</d3p1:serial> <d3p1:id>5</d3p1:id> </d3p1:Book> <d3p1:Book> <d3p1:bookname>Ding</d3p1:bookname> <d3p1:serial>XCqqKB+Wi3i4z6nN1Ry8IHtar6ogojjiqxMfvfgC0qc=</d3p1:serial> <d3p1:id>6</d3p1:id> </d3p1:Book> </bookList> <author xmlns:d3p1="http://schemas.datacontract.org/2004/07/dto.Models.Android.Shared"> <d3p1:pictureId>0</d3p1:pictureId> <d3p1:websiteurl i:nil="true" /> <d3p1:email i:nil="true" /> <d3p1:name>Jo Blogs</d3p1:size> <d3p1:age>0</d3p1:size> </author> </result> </SimpleResponse>
我的班级看起来像这样:
public string error { get; set;}
public class SimpleResponse
{
public List<Book> bookList { get; set; }
public Author author { get; set; }
}
public class Book
{
public string bookname { get; set; }
public string serial { get; set; }
public int id { get; set; }
}
public class Author
{
public string pictureId{ get; set; }
public string websiteurl { get; set; }
public string email { get; set; }
public string name { get; set; }
public int age { get; set; }
}
使用Postman,C#、. NET Framework 4.7,我从Postman发出了GET请求,并将content-accept设置为“ application / xml”,并且我的.NET Framework Web API将以XML响应(非常棒!)。我还没有...
xmlns =“ http://schemas.datacontract.org/2004/07/dto.MyModels”是我要删除的东西!