属性とxmlテキストを使用してxmlファイルを逆シリアル化しています。問題は、それらの要素が同じ属性を持つことです。だから、私は常にXmlTypeに2つの同一のTypeNamesを持たないというエラーが発生しています。同じ属性を持つxml要素を逆シリアル化する
私のxml:
<group_id xsi:type="xsd:int">1</group_id>
<name xsi:type="xsd:int">myNameView</name>
そして、私のC#:
[XmlType(AnonymousType = true, Namespace = "http://www.w3.org/2001/XMLSchema", TypeName = "int")]
[XmlRoot(ElementName = "group_id")]
public class Group_id
{
[XmlAttribute(AttributeName = "type", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
public string Type { get; set; }
[XmlText]
public string Text { get; set; }
}
[XmlType(AnonymousType = true, Namespace = "http://www.w3.org/2001/XMLSchema", TypeName = "int")]
[XmlRoot(ElementName = "name")]
public class Name
{
[XmlAttribute(AttributeName = "type", Namespace = "http://www.w3.org/2001/XMLSchema-instance")]
public string Type { get; set; }
[XmlText]
public string Text { get; set; }
}
問題は、XMLType属性で型名です。 TypeNameを持つ要素の名前を1つだけ指定すると、正しくデシリアライズされます。