Я получаю XML из веб-службы.Я строю некоторые классы, чтобы десериализовать его.Это частично работает;Я получаю ожидаемые значения для примитивных членов AdvMortgage
объектов.
Поскольку код такой, я получаю нулевое значение для поля Mortgage
любого AdvMortgage
.Это проблема, аналогичная той, которую я недавно опубликовал, но у меня действительно были проблемы с ней.Что я делаю не так?
<Product xmlns="http://schemas.datacontract.org/2004/07/mInitechService" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
...
<AdvMortgage>
<Mortage>
<MortgageType>...</MortgageType>
<MortgageType>...</MortgageType>
<MortgageType>
<apr>4.99</apr>
<discountPts>0.00</discountPts>
<originationFee>0.00</originationFee>
<pgmName>7/1 Adjustable</pgmName>
<rate>4.875</rate>
</MortgageType>
</Mortage>
<mortEffectiveDate>Rates effective 12/4/2018</mortEffectiveDate>
<mortNote>
ARM = Adjustable Rate Mortgage

...
</mortNote>
</AdvMortgage>
...
<effectiveDate>Rates effective from 12/01/2018 through 12/31/2018</effectiveDate>
</Product>
А на занятиях:
namespace InitechServiceEntities
{
[XmlType(AnonymousType = true, Namespace = "http://schemas.datacontract.org/2004/07/mInitechService")]
[XmlRoot(Namespace = "http://schemas.datacontract.org/2004/07/mInitechService", IsNullable = false)]
public class Product
{
//...
[XmlElement("AdvMortgage")]
public AdvMortgage AdvMortgage;
[XmlElement("effectiveDate")]
public string effectiveDate;
}
[XmlType("AdvMortgage")]
public class AdvMortgage
{
[XmlElement("mortEffectiveDate")]
public string mortEffectiveDate;
[XmlElement("mortNote")]
public string mortNote;
[XmlArray(ElementName = "Mortgage")]
[XmlArrayItem(Type = typeof(MortgageType))]
public MortgageType[] Mortgage;
}
[XmlType("MortgageType")]
public class MortgageType
{
[XmlElement("pgmName")]
public string pgmName;
[XmlElement("rate")]
public string rate;
[XmlElement("apr")]
public string apr;
[XmlElement("discountPts")]
public string discountPts;
[XmlElement("originationFee")]
public string originationFee;
}
}