我正在尝试反序列化信用卡BIN对象,以便在表单上进行品牌验证,但无法正确完成。要么内部对象无法反序列化,要么主品牌列表变为空值。有人可以帮我一下吗?
我的XML文件如下:
<?xml version="1.0" encoding="utf-8"?>
<Brands>
<Brand type="visa">
<Bins>
<Bin enabled="true" value="123" />
<Bin enabled="true" value="456" />
<Bin enabled="true" value="789" />
</Bins>
</Brand>
<Brand type="master">
<Bins>
<Bin enabled="true" value="987" />
<Bin enabled="true" value="654" />
<Bin enabled="true" value="321" />
</Bins>
</Brand>
</Brands>
我最新的代码(将brandsCollection设置为null)如下:
[XmlRoot("Brands")]
public class CreditCardBrand
{
[XmlArray("Brands"), XmlArrayItem("Brand")]
public CreditCardBrandCollection[] brandsCollection { get; set; }
}
public class CreditCardBrandCollection
{
[XmlElement("Bins")]
public CreditCardBrandBins[] binsCollection { get; set; }
[XmlAttribute("type")]
public CreditCardBrands brand { get; set; }
}
public class CreditCardBrandBins
{
[XmlAttribute("value")]
public string bin { get; set; }
[XmlAttribute("enabled")]
public bool enabled { get; set; }
}
我希望将这个XML反序列化为品牌数组,每个品牌都有一个名称(类型)属性和与之关联的一组桶(仅启用的桶),以便在系统启动时将其放入内存中。