一部の xml を逆シリアル化しようとしていますが、取得元のサード パーティが特定のタグを複数の方法でフォーマットしています。以下の例では、値タグです。詳細情報を含む文字列または複数の内部タグを持つことができます
できれば、これが自動的に行われ、この種のコード構造に従い続けたいと思います
[XmlRoot(ElementName = "ContactField")]
public class ContactField
{
    [XmlElement("id")]
    public int id { get; set; }
    [XmlElement("type")]
    public string type { get; set; }
    [XmlElement("value")]
    public FieldValue values { get; set; }
}
XmlSerializer を使用して、その内容に基づいてタグを異なる方法で処理する方法はありますか?それとも、手動で行うのに行き詰まるのでしょうか?
<contact>
        <isConnection>false</isConnection>
        <id>62</id>
        <fields>
            <id>8</id>
            <type>id</type>
            <value>test@test.com</value>
            <editedBy>OWNER</editedBy>
        </fields>
        <fields>
            <id>95</id>
            <type>notes</type>
            <value>Dummy user for testing</value>
            <editedBy>OWNER</editedBy>
        </fields>
        <fields>
            <id>96</id>
            <type>birthday</type>
            <value>
                <day>11</day>
                <month>5</month>
                <year>1988</year>
            </value>
            <editedBy>OWNER</editedBy>
        </fields>
</contact>