как работать с базой данных?

  • Автор темы Автор темы Igorst
  • Дата начала Дата начала

Igorst

Client
Регистрация
07.08.2011
Сообщения
196
Реакции
16
Баллы
18
Есть база данных,

В формате yml - что то на подобие хмл

Есть куча товара в этой базе


Описание каждого товара заключено между

<offer id="3235 и
</offer>


Вот как взять это описание, в идеале брать случайно с этого текстового документа.

Понимаю что как то парсить нужно, но не пойму как брать случайно.

Спасибо
 
Есть база данных,

В формате yml - что то на подобие хмл

Есть куча товара в этой базе


Описание каждого товара заключено между

<offer id="3235 и
</offer>


Вот как взять это описание, в идеале брать случайно с этого текстового документа.

Понимаю что как то парсить нужно, но не пойму как брать случайно.

Спасибо
выпарсить все описания регуляркой в список и брать из этого списка случайную строку..
 
Есть база данных,
В формате yml - что то на подобие хмл
Это не БД. а чистой воды xml.
yml это формат xml файла придуманный яндексом для инет магазинов.

Есть база данных,
Описание каждого товара заключено между
<offer id="3235 и
</offer>
Вот как взять это описание, в идеале брать случайно с этого текстового документа.

Код:
Развернуть Свернуть Копировать
var doc = XDocument.Load(@"путь к файлу"); //загрузили файл
var offers = doc.Root.XPathSelectElements("//offers/offer").ToList(); //получили все xml узлы offer

var rnd = new Random();
var i = rnd.Next(0, offers.Count); //получили рандомное число в пределах размера коллекции

var offer = offers[i]; //взяли offer
var value = offer.Element("description").Value; // получили значение из узла description

Для взятия текстовки обычно используются три узла - name, model и description
 
  • Оценить
Реакции: Roman*
Это не БД. а чистой воды xml.
yml это формат xml файла придуманный яндексом для инет магазинов.



Код:
Развернуть Свернуть Копировать
var doc = XDocument.Load(@"путь к файлу"); //загрузили файл
var offers = doc.Root.XPathSelectElements("//offers/offer").ToList(); //получили все xml узлы offer

var rnd = new Random();
var i = rnd.Next(0, offers.Count); //получили рандомное число в пределах размера коллекции

var offer = offers[i]; //взяли offer
var value = offer.Element("description").Value; // получили значение из узла description

Для взятия текстовки обычно используются три узла - name, model и description
вряд ли это будет работать без using и т.д.
 
вряд ли это будет работать без using и т.д.
:-)
Естественно зависит от того подключенные доп либы или нет.

В рефы
System.Xml.dll
System.Xml.Linq.dll

В using-и
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)