Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XML序列化和可空属性_C#_Xml Serialization_Asp.net Core 2.0 - Fatal编程技术网

C# 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

我正在做一个项目,需要在我们的数据库中获取一个表的xml文件。由于我在后端处理asp.net内核,所以需要查询数据库并序列化为xml并返回响应。根据我下面的代码,我得到了以下错误

[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不能用于对复杂类型进行编码。

序列化在哪里?您只是在构造序列化程序,而不是实际序列化任何数据。见我昨天的帖子: