[英]XML Serialization and Deserialization nested elements c#
請考慮以下xml。 我想反序列化。 但是,它不會反序列化Rules元素。 一些快速的提示,不勝感激。
<ImportDefinition>
<Import>
<Customer>
<Name>Customer1</Name>
<Path>\\192.168.1.1\40014\</Path>
<Rules>
<Rule Type="OrgNr-VATNr">INDEX_6|BDPOS_7</Rule>
<Rule Type="DueDate">INDEX_11|BDPOS_7|25</Rule>
</Rules>
</Customer>
</Import>
</ImportDefinition>
[XmlRoot("ImportDefinition")]
public class ImportDefinition
{
public ImportDefinition() { }
[XmlArray("Import"), XmlArrayItem("Customer", typeof(Customer))]
public List<Customer> Customers
{
get { return (_customers); }
set { _customers = value; }
}
}
[XmlType(TypeName = "Customer"), Serializable]
public class Customer
{
public Customer() { }
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Path")]
public string Path { get; set; }
private List<Rule> _rules = new List<Rule>();
[XmlArray("Rules")]
public List<Rule> Rules
{
get { return (_rules); }
set { _rules = value; }
}
}
[XmlType(TypeName = "Rule"), Serializable]
public class Rule
{
public Rule() { }
[XmlAttribute("Type")]
public string Type { get; set; }
[XmlElement("Rule")]
public string Rule { get; set; }
}
在我的項目中,我有一個類似的情況,與您的代碼的唯一區別是我設置了XmlArrayItem屬性:
[XmlArrayItem("Rules")]
public List<Rule> Rules
{
get { return (_rules); }
set { _rules = value; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.