Переписать С#

zagrenat

Client
Регистрация
02.11.2010
Сообщения
8
Благодарностей
2
Баллы
3
есть шаб отсюда

https://zennolab.com/discussion/threads/obzor-zennoposter-xpath-na-primere-jandeks-marketa.37497/

он обрабатывает в кубике c# данные отсюда (собирает атрибуты товаров в нужный формат)
https://market.yandex.ru/product/10583929/spec
а нужно настроить на верстку отсюда
https://www.hausdorf.ru/catalog/kholodilniki/neff/vstraivaemyy-kholodilnik-neff-k8315x0.html


Код:
//Используем текущий активный таб
Tab tab = instance.ActiveTab;
IZennoTable infoTable = project.Tables["specification"];
string new_join = "\n";
List<string> specList = new List<string>();

//Объявляем коллекцию для отображения блоков спецификации товара.
HtmlElementCollection itemCollection = tab.FindElementsByXPath("//div[@class='n-product-spec-wrap__body']");
foreach (HtmlElement item in itemCollection)
{
    //Выводим Титул спецификации
    HtmlElement title = item.FindChildByXPath("./h2", 0);
    //Объявляем коллекцию спецификаций
    HtmlElementCollection specCollection = item.FindChildrenByXPath("./dl[@class='n-product-spec']");
    foreach (HtmlElement spec in specCollection)
    {
        HtmlElement specName = spec.FindChildByXPath("./dt[contains(@class, 'spec__name')]", 0);
        if (specName.InnerText.Contains("?"))
        {
            project.Variables["specName"].Value = new Regex("(?<=name-inner\">).*?(?=<)").Match(specName.OuterHtml).Value;
        }
        else
        {
            project.Variables["specName"].Value = specName.InnerText.Trim();
        }
        string specNameReady = project.Variables["specName"].Value;
        HtmlElement specValue = spec.FindChildByXPath("./dd[contains(@class, 'spec__value')]", 0);
        string specification = string.Format("{0}|{1}|{2} ",title.InnerText.Trim(), specNameReady.Trim(), specValue.InnerText.Trim().Replace("\r\n", ""));
        specList.Add(specification);   
    }   
}
string all_spec = String.Join(new_join, specList);
string addtoTable = string.Format("\t \t {0}", all_spec);
infoTable.AddRow(addtoTable);
кто может помочь ?
 

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