私はxmlをデシリアライズしており、そのためにこれらのクラスを使用しています
[DataContract(Name = "Validation")]
public class FieldValidationModel
{
[DataMember]
public string Annotation { get; set; }
[DataMember]
public Collection<ValidationPlanType> PlanTypes { get; set; }
}
[DataContract(Name="PlanType")]
public class ValidationPlanType
{
[DataMember]
public string Name { get; set; }
}
それは機能しますが、理想的には1つのクラスのみを使用したいです
[DataContract(Name = "Validation")]
public class FieldValidationModel
{
[DataMember]
public string Annotation { get; set; }
[DataMember]
public List<string> PlanTypes { get; set; }
}
私は使用しようとしました
[DataMember]
[XmlArray, XmlArrayItem(Namespace="PlanType")]
public List<string> PlanTypes { get; set; }
運が悪ければ、ノードは今使用しなければならないものから平坦化されます
<Validation>
<Annotation>TestAnnotation</Annotation>
<PlanTypes>
<PlanType>
<Name>PlanA</Name>
</PlanType>
<PlanType>
<Name>PlanB</Name>
</PlanType>
</PlanTypes>
</Validation>
より読みやすく
<Validation>
<Annotation>TestAnnotation</Annotation>
<PlanTypes>
<PlanType>PlanA</PlanType>
<PlanType>PlanB</PlanType>
</PlanTypes>
</Validation>
ありがとう