привязка случайного XmlDataSource к повторителю с помощью Xpath - PullRequest
1 голос
/ 18 января 2011

Я создаю страницу, чтобы собрать список рекламных роликов на веб-странице asp.net внутри ретранслятора.

Источником данных является онлайн-канал XML.

Для этого я привязываю ретранслятор следующим образом ...

string XML_FEED_URL = "http://some-cinema-feed.com/comingsoon/";

XmlDataSource data_source = new XmlDataSource();
data_source.DataFile = XML_FEED_URL;
data_source.XPath = "/movies/movie[position() > 0 and position() < 3]";

this.moviePreciewsRepeater.DataSource = data_source;
this.moviePreciewsRepeater.DataBind();

Проблема в том, что длина канала меняется регулярно, и вместо выбора диапазона фильмов с XPATH (т.е. 1-3 в XML) мне нужно выбрать 3 совершенно случайных фильма из XML и связать их ретранслятор.

1 Ответ

1 голос
/ 18 января 2011

Используйте

data_source.XPath = 
    string.Format(@"/movies/movie[position() = {0} 
                               or position() = {1}
                               or position() = {2}
                                 ]",
                  random1, random2, random3); 

где переменные random1, random2 и random3 - это случайные целые числа, которые вы уже вычислили.

...