我有一个像这样的C#类成员:
class Case
{
string ID;
string JurisdictionID;
}
相应的XSD如下:
<xs:element name="CaseTrackingID" type="IDType"/>
<xs:complexType name="IDType">
<xs:sequence>
<xs:element name="ID" type="xs:string"/>
<xs:element name="IDJurisdictionText" type="xs:string" minOccurs="0"/>
<xs:element name="IDType" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
我如何为我的课注释,以便CaseTrackingID\ID
映射到Case.ID
,CaseTrackingID\IDJurisdictionText
映射到Case.JurisdictionID
?
答案 0 :(得分:2)
试试这个:
[XmlRoot("CaseTrackingID")]
public class Case
{
[XmlElement("ID")]
public string ID;
[XmlElement("IDJurisdictionText")]
public string JurisdictionID;
}
答案 1 :(得分:1)
当架构和类结构不完全对齐时,你有几个选项,其中没有一个很漂亮..
public class Case
{
[XmlIgnore] public string ID;
[XmlIgnore] public string JuristictionID;
[XmlElement("CaseTrackingID")]
public CaseTrackingID SerializedCaseTrackingID
{
get
{
return new CaseTrackingID
{
ID = this.ID,
JuristictionID = this.JuristictionID,
};
}
set
{
this.ID = value.ID;
this.JuristictionID = value.JuristictionID;
}
}
}
public class CaseTrackingID
{
[XmlElement("ID")]
public string ID;
[XmlElement("IDJurisdictionText")]
public string JurisdictionID;
}
或者,如果您使用的是DCSerializer,则可以使用代理功能(http://msdn.microsoft.com/en-us/library/ms733064.aspx)在序列化时替换不同的类结构。 / p>