C# XML序列化和可空属性
我正在做一个项目,需要在我们的数据库中获取一个表的xml文件。由于我在后端处理asp.net内核,所以需要查询数据库并序列化为xml并返回响应。根据我下面的代码,我得到了以下错误C# XML序列化和可空属性,c#,xml-serialization,asp.net-core-2.0,C#,Xml Serialization,Asp.net Core 2.0,我正在做一个项目,需要在我们的数据库中获取一个表的xml文件。由于我在后端处理asp.net内核,所以需要查询数据库并序列化为xml并返回响应。根据我下面的代码,我得到了以下错误 [HttpGet, Route("GetXml")] public ActionResult<GenericResponse> GenerateXml() { var cellData = _repoWrapper.Purchase.FindByCon
[HttpGet, Route("GetXml")]
public ActionResult<GenericResponse> GenerateXml()
{
var cellData = _repoWrapper.Purchase.FindByCondition(a => a.IsDeleted == false);
//since servicestack we used in text also have xml serializer so it is necessary to use system.xml .serializer method
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(cellData.GetType());
String s= x.ToString();
return _response;
}
[HttpGet,Route(“GetXml”)]
public ActionResult GenerateXml()
{
var cellData=\u repoWrapper.Purchase.FindByCondition(a=>a.IsDeleted==false);
//因为我们在文本中使用的servicestack也有xml序列化程序,所以有必要使用system.xml.serializer方法
System.Xml.Serialization.XmlSerializer x=new System.Xml.Serialization.XmlSerializer(cellData.GetType());
字符串s=x.ToString();
返回响应;
}
对于这段代码,我得到了如下错误:
System.InvalidOperationException:'要实现XML序列化,从IEnumerable继承的类型必须在其继承层次结构的所有级别上都具有Add(System.Object)的实现。Microsoft.EntityFrameworkCore.Query.Internal.EntityQueryable'
再一次,这样做:
[HttpGet, Route("GetXml")]
public ActionResult<GenericResponse> GenerateXml()
{
var cellData = _repoWrapper.Purchase.FindByCondition(a => a.IsDeleted == false).ToList();
//since servicestack we used in text also have xml serializer so it is necessary to use system.xml .serializer method
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(cellData.GetType());
String s= x.ToString();
return _response;
}
[HttpGet,Route(“GetXml”)]
public ActionResult GenerateXml()
{
var cellData=_repoWrapper.Purchase.FindByCondition(a=>a.IsDeleted==false).ToList();
//因为我们在文本中使用的servicestack也有xml序列化程序,所以有必要使用system.xml.serializer方法
System.Xml.Serialization.XmlSerializer x=new System.Xml.Serialization.XmlSerializer(cellData.GetType());
字符串s=x.ToString();
返回响应;
}
我得到的错误如下:
System.InvalidOperationException:'反映类型'System.Collections.Generic.List'的错误
以及:
InvalidOperationException:无法序列化System.Nullable'1[System.Double]类型的成员“Total”。XmlAttribute/XmlText不能用于对复杂类型进行编码。序列化在哪里?您只是在构造序列化程序,而不是实际序列化任何数据。见我昨天的帖子: