[英]Cannot deserialize list of elements in child node using XMLSerializer
[英]Deserialize child elements using xmlserializer
我正在尝试反序列化此结构的xml文件,但是当我调用此方法时
XmlSerializer(responseType).Deserialize(new MemoryStream(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);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.