更新时间:2022-02-28 01:10:16
我认为您将需要另一个类来保存这3个属性,并用 XmlAttribute
属性标记这些属性
I think you are going to need another class to hold the 3 properties, and mark those properties with the XmlAttribute
attribute
[Serializable]
public class Name
{
[XmlAttribute]
public string PropertyName { get; set; }
[XmlAttribute]
public string DisplayName { get; set; }
[XmlAttribute]
public int ListOrder { get; set; }
}
[Serializable]
public class FullName
{
private Name strFirstName;
[XmlElement("FirstName")]
public Name FirstName
{
get { return strFirstName; }
set { strFirstName = value; }
}
private Name strMiddleName;
[XmlElement("MiddleName")]
public Name MiddleName
{
get { return strMiddleName; }
set { strMiddleName = value; }
}
private Name strLastName;
[XmlElement("LastName")]
public Name LastName
{
get { return strLastName; }
set { strLastName = value; }
}
[XmlElement("ListOrder")]
public int ListOrder { get; set; }
}
[Serializable]
public class Visibility
{
public FullName FullName { get; set; }
[XmlAttribute("DisplayName")]
public String DisplayName { get; set; }
}
[Serializable]
public class Visibilities
{
[XmlAttribute("AppName")]
public String AppName { get; set; }
[XmlElement("Visibility")]
public List<Visibility> Visibility { get; set; }
}
<Visibilities>
<Visibilities AppName="Test2">
<Visibility DisplayName="Full Name">
<FullName>
<FirstName PropertyName="FullName.FirstName" DisplayName="First Name" ListOrder="3" />
<MiddleName PropertyName="FullName.MiddleName" DisplayName="Middle Name" ListOrder="3" />
<LastName PropertyName="FullName.LastName" DisplayName="Last Name" ListOrder="3" />
<ListOrder>0</ListOrder>
</FullName>
</Visibility>
</Visibilities>