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

Igorst

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

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

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


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

<offer id="3235 и
</offer>


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

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

Спасибо
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 609
Благодарностей
10 108
Баллы
113
Есть база данных,

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

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


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

<offer id="3235 и
</offer>


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

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

Спасибо
выпарсить все описания регуляркой в список и брать из этого списка случайную строку..
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
825
Баллы
93
Есть база данных,
В формате 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*

doc

Client
Регистрация
30.03.2012
Сообщения
8 685
Благодарностей
4 652
Баллы
113
Это не БД. а чистой воды 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 и т.д.
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
825
Баллы
93
вряд ли это будет работать без using и т.д.
:-)
Естественно зависит от того подключенные доп либы или нет.

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

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

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