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

Igorst

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

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

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


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

<offer id="3235 и
</offer>


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

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

Спасибо
 

Sergodjan

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

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

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


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

<offer id="3235 и
</offer>


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

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

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

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
823
Баллы
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 614
Благодарностей
4 602
Баллы
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
Благодарностей
823
Баллы
93
вряд ли это будет работать без using и т.д.
:-)
Естественно зависит от того подключенные доп либы или нет.

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

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

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