C# 使用xmlserializer反序列化子元素
我试图反序列化此结构的xml文件,但当我调用此方法时C# 使用xmlserializer反序列化子元素,c#,xmlserializer,C#,Xmlserializer,我试图反序列化此结构的xml文件,但当我调用此方法时 XmlSerializer(responseType)。反序列化(新内存流(responseData)) PricingQuote子元素都没有通过 <Pricing> <Code>Success</Code> <PricingQuotes> <PricingQuote> <ProductName>Conforming 30 Year Fixed</
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
?您的类是如何定义的?请显示要反序列化的定价类。