Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
.net Xml反序列化程序无法反序列化_.net_Xml_C# 4.0_Xml Serialization_Deserialization - Fatal编程技术网

.net Xml反序列化程序无法反序列化

.net Xml反序列化程序无法反序列化,.net,xml,c#-4.0,xml-serialization,deserialization,.net,Xml,C# 4.0,Xml Serialization,Deserialization,我想将xml文件反序列化为对象,但无法将上下文属性从下面的xml获取到对象 <Receipt> <Data context="LastYear"> <OtherIncomeReceiptDataEntity ID="5011"> <Amount>5000</Amount> <DatePaid>41274</DatePaid> <TaxDe

我想将xml文件反序列化为对象,但无法将上下文属性从下面的xml获取到对象

<Receipt>
    <Data context="LastYear">
      <OtherIncomeReceiptDataEntity  ID="5011">
        <Amount>5000</Amount>
        <DatePaid>41274</DatePaid>
        <TaxDeducted>1000</TaxDeducted>
        <AllowableExpenses>2000</AllowableExpenses>
        <Status>Ok</Status>
      </OtherIncomeReceiptDataEntity>
    </Data>
    <Data context="CurrentYear">
      <OtherIncomeReceiptDataEntity  ID="5012">
        <Amount>5000</Amount>
        <DatePaid>41274</DatePaid>
        <TaxDeducted>1000</TaxDeducted>
        <AllowableExpenses>2000</AllowableExpenses>
        <Status>Ok</Status>
      </OtherIncomeReceiptDataEntity>
    </Data>
</Receipt>
任何建议都将不胜感激

更新(对象结构)

公共类收据
{
公共列表数据{get;set;}
}
公共类数据
{
[XmlAttribute(“上下文”)]
公共int上下文{get;set;}
公共OtherIncomeReceiptDataEntity OtherIncomeReceiptDataEntity{get;set;}
}

您希望将上下文存储在哪里?更新的修订对象我可以将上下文值存储到OtherIncomeReceiptDataEntity对象,但当将对象序列化回XML时,我需要将其添加回数据元素。我不确定这是否重要,但“context”属性是int类型,而属性不是数字(例如去年)我现在已将上下文更改为字符串,但它不起作用。
public class Receipt
{
    public List<OtherIncomeReceiptDataEntity> Data { get; set; }
}

public class OtherIncomeReceiptDataEntity
{
    [XmlAttribute("openspaceID")]
    public int openspaceID { get; set; }

    public double Amount { get; set; }
    public int DatePaid { get; set; }
    public double TaxDeducted { get; set; }
    public double AllowableExpenses { get; set; }
    public DBEStatus Status { get; set; }
}
    Receipt otherIncomes = null;
    string path = "otherIncomes.xml";

    XmlSerializer serializer = new XmlSerializer(typeof(Receipt));
    StreamReader reader = new StreamReader(path);

    otherIncomes = (Receipt)serializer.Deserialize(reader);         
    reader.Close();
public class Receipt
{
    public List<Data> Data { get; set; }
}

public class Data
{
    [XmlAttribute("context")]
    public int context { get; set; }

    public OtherIncomeReceiptDataEntity OtherIncomeReceiptDataEntity { get; set; } 
}