Показать сообщение отдельно
  #2  
Старый 13.10.2016, 19:27
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Категория идет отдельным тегом (группой тегов). Как я понял, саму группу тегов ты распознаешь. Тогда алгоритм примерно такой.
Перед циклом обнуляешь переменную, в которой у тебя будет названии категории.
Внутри цикла если нашел категорию, то запоминаешь ее. если это товар, то берешь категорию из переменной.

Типа такого (код условный):
Код:
var
  CatName : String;
  DataRow : TDataRowObject; // типа результат получения строки
begin
  CatName := '';
  Repeat
    DataRow := ParseHTML(...); // получаем очередную строку из хтмл'я
    If DataRow.IsCategory 
     Then CatName := DataRow.Name // сохраняем имя категории
     Else AddRow(CatName, DataRow.Name, DataRow.Art, DataRow.Proce, DataRow.Quantity); // иначе - добавляем строку
  Until DataRow = Nil;
как уже сказал, код условный, просто что бы продемонстрировать концепцию.
Ответить с цитированием