Хорошо, у меня есть XML-файл, который выглядит примерно так:
<Templates>
<Template>
<TemplateID>00X500000011iTSEAY</TemplateID>
<To>
<To type='User'>00550000000mfOU</To>
<To type='User'>00550000000mb3pAAA</To>
<To type='Group'>00G50000001PiHz</To>
<To type='AccountTeam'>AccountExecutive</To>
</To>
<CC>
<CC type='AccountTeam'>SalesLead</CC>
</CC>
<BCC>
<BCC type='SalesTeam'>SalesManager</BCC>
</BCC>
</Template>
</Templates>
С этим я пытаюсь заполнить некоторые классы, которые могут это понять. Итак, первая мысль, которая у меня возникла, была что-то вроде этого для To Elements:
public class EmailRecipient
{
public ToRecipient To {get;set;}
public CCRecipient CC {get;set;}
}
public class ToRecipient
{
public string Key {get;set;}
public string Type {get;set;}
}
Не совсем элегантно, но это мой черновик. Я пытаюсь использовать Linq to XML для этого, так как я знаю, какой у меня TemplateId, и тогда я могу просто заполнить класс значениями. Вот где я нахожусь ... и застрял в этом тестовом приложении:
var results = from x in xmlDoc.Descendants(XName.Get("Template")
where x.Element(XName.Get("TemplateID")).Value == "00X500000011iTSEAY"
select new EmailRecipient()
{
ToRecipient =
};
Учитывая все вышесказанное, я ищу коллекцию "Tos", где каждое значение "to" может иметь значение "type".
Любая помощь будет принята с благодарностью, я сделал больше с XML за последние 3 дня, чем за последние 3 года, и это немного.
Большое спасибо за любую помощь.