C# 使用xmlserializer反序列化子元素

C# 使用xmlserializer反序列化子元素,c#,xmlserializer,C#,Xmlserializer,我试图反序列化此结构的xml文件,但当我调用此方法时 XmlSerializer(responseType)。反序列化(新内存流(responseData)) PricingQuote子元素都没有通过 <Pricing> <Code>Success</Code> <PricingQuotes> <PricingQuote> <ProductName>Conforming 30 Year Fixed</

我试图反序列化此结构的xml文件,但当我调用此方法时

XmlSerializer(responseType)。反序列化(新内存流(responseData))

PricingQuote子元素都没有通过

<Pricing>
 <Code>Success</Code>
 <PricingQuotes> 
  <PricingQuote>
    <ProductName>Conforming 30 Year Fixed</ProductName>
  </PricingQuote>
  <PricingQuote>
    <ProductName>Conforming 20 Year Fixed</ProductName>
  </PricingQuote>
 </PricingQuotes> 
</Pricing>

您需要确保类定义与传入的XML匹配。下面的代码就是这样做的,反序列化工作与预期的一样

public class StackOverflow_12608671
{
    const string XML = @"<Pricing> 
                            <Code>Success</Code> 
                            <PricingQuotes>  
                                <PricingQuote> 
                                    <ProductName>Conforming 30 Year Fixed</ProductName> 
                                </PricingQuote> 
                                <PricingQuote> 
                                    <ProductName>Conforming 20 Year Fixed</ProductName> 
                                </PricingQuote> 
                            </PricingQuotes>  
                        </Pricing> ";

    public class Pricing
    {
        public string Code { get; set; }
        public List<PricingQuote> PricingQuotes { get; set; }
    }
    public class PricingQuote
    {
        public string ProductName { get; set; }
    }
    public static void Test()
    {
        MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(XML));
        XmlSerializer xs = new XmlSerializer(typeof(Pricing));
        Pricing p = (Pricing)xs.Deserialize(ms);
        foreach (var q in p.PricingQuotes)
        {
            Console.WriteLine(q.ProductName);
        }
    }
}

如何定义
responseType
?您的类是如何定义的?请显示要反序列化的定价类。