using System.Collections.Generic;
using System.Xml.Serialization;
public static void Main(string[] args)
@"<?xml version=""1.0"" encoding=""UTF-8""?>
xsi1:type=""xsi:SubscriptionEvent""
xmlns:xsi=""http://schema.broadsoft.com/xsi""
xmlns:xsi1=""http://www.w3.org/2001/XMLSchema-instance"">
<xsi:eventID>0787e727-e73d-43e0-a7b1-e968ba72ea53</xsi:eventID>
<xsi:sequenceNumber>1</xsi:sequenceNumber>
<xsi:userId>11111111@voip.company.domain</xsi:userId>
<xsi:externalApplicationId>NewClient</xsi:externalApplicationId>
<xsi:subscriptionId>24def51b-21fb-4d60-a1ef-67477dcafcfb</xsi:subscriptionId>
<xsi:channelId>575cfe44-2cc7-4cf5-bc05-bcc462bcbb02</xsi:channelId>
<xsi:targetId>22222222@voip.company.domain</xsi:targetId>
<xsi:eventData xsi1:type=""xsi:ACDSubscriptionEvent""/>
var serialiser = new XmlSerializer(typeof(Event));
var obj = (SubscriptionEvent) serialiser.Deserialize(new StringReader(xml));
Console.WriteLine(obj.EventID);
Console.WriteLine(obj.SequenceNumber);
Console.WriteLine(obj.UserId);
Console.WriteLine(obj.ExternalApplicationId);
Console.WriteLine(obj.SubscriptionId);
Console.WriteLine(obj.ChannelId);
Console.WriteLine(obj.TargetId);
[XmlInclude(typeof(SubscriptionEvent))]
[XmlRoot(Namespace = "http://schema.broadsoft.com/xsi")]
public abstract class Event
[XmlType(Namespace = "http://schema.broadsoft.com/xsi")]
public class SubscriptionEvent : Event
[XmlElement(ElementName = "eventID")]
public string EventID { get; set; }
[XmlElement(ElementName = "sequenceNumber")]
public string SequenceNumber { get; set; }
[XmlElement(ElementName = "userId")]
public string UserId { get; set; }
[XmlElement(ElementName = "externalApplicationId")]
public string ExternalApplicationId { get; set; }
[XmlElement(ElementName = "subscriptionId")]
public string SubscriptionId { get; set; }
[XmlElement(ElementName = "channelId")]
public string ChannelId { get; set; }
[XmlElement(ElementName = "targetId")]
public string TargetId { get; set; }
[XmlElement(ElementName = "eventData")]
public EventData EventData { get; set; }
[XmlInclude(typeof(ACDSubscriptionEvent))]
public abstract class EventData
[XmlType(Namespace = "http://schema.broadsoft.com/xsi")]
public class ACDSubscriptionEvent : EventData