Я думаю, это то, что вы ищете.
var model = new List<CountryModel>();
foreach (var item in Enum.GetValues(typeof(CountryListEnum)))
{
model.Add(new CountryModel
{
CountryId = (int)item,
CountryName = ((DescriptionAttribute)item.GetType().GetField(item.ToString()).GetCustomAttribute(typeof(DescriptionAttribute), false)).Description
});
}
Я определенно согласился бы с предыдущим комментатором, который дрожал при мысли о XSLT выполнение Вашего тяжелого подъема. Это не будет всем этим производительным. Не понимайте меня превратно, мне нравится XSL много, но...
Не такое количество учебного руководства, но люди в Технологии Шелковицы (никакая идея, что они делают, или кто они) поддерживает ряд Кратких руководств для XSLT (и много других), что я нахожу неоценимыми.
http://www.mulberrytech.com/quickref/
надеюсь, это поможет...
Вы используете XSLT на сервере или в браузерах?
Современные браузеры теперь имеют поддержку преобразований XML из браузера, один путь использует Ajax для выборки XML наряду с его таблицей стилей. Можно затем разгрузить обработку таблиц стилей к клиентским машинам. Обязательно кэшируйте таблицу стилей и возможно даже отправьте сжатый XML.
Кодирование должно быть прямым, если Вы уже знаете, как сделать Ajax. Я работал над системой как это 5 лет назад, и это - жизнеспособный способ пойти.
Попытайтесь использовать токсикологию в качестве примера. Нет учебного руководства, но если Вы смотрите на пример, если, это хорошо прокомментировано и включает Ajax.
наш целый сайт представляется с помощью XSLT для преобразования xml
Та мысль заставляет меня дрожать. Я работал над двумя сайтами, которые использовали XSLT, чтобы сделать тяжелый подъем в динамичном создании страниц, к которым часто получают доступ, и в обоих случаях требовалось больше усилия по разработке и процессорное время на доступ, чем это стоило.
Независимо, www.w3schools.com имеет много хороших учебных руководств на многих веб-технологиях. У них даже есть тесты.
Если бы Вы хотите сделать Ajax при поддержании поддержки нескольких веб-браузеров, я настоятельно рекомендовал бы проверить: JQuery, Прототип и Dojo
Я думаю, что JQuery является лучшим, но я оставлю то определение до Вас.
Я использовал эту технику экстенсивно, обоих на стороне клиента и сервера. Мой опыт состоял в том, что это работает соответственно в большинстве сценариев (но затем я контрастирую его производительность серверной стороны с VBScript в ASP-страницах).
Где производительность является проблемой, очень важно вынуть парсинг XML и компиляцию XSLT из операции по мере возможности. Если у Вас есть клиентский метод, который использует XSLT для динамичного рендеринга элемента на странице, удостоверьтесь, что это не загружает и компилирует XSLT каждый раз, когда это называют. Если Вы используете серверную сторону XSLT, кэшируете объект процессора XSLT в любом наборе Ваши поддержки серверной среды.
Можно получить значительно лучшую клиентскую производительность при помощи JavaScript и JSON вместо XML и XSLT. Я не сравнил его, но я держал пари, что самое большое увеличение производительности выходит из того, что парсинг JSON намного менее интенсивен ЦП, чем парсинг XML.