Получить <url> из yandex.xml

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
Всем привет, подскажите по работе с XML. Хочу получить значение между тегами <url>...</ur>, как мне это сделать через встроенный инструмент обработки XML, что-то не нашел информации для новичка в этом.)

Парсинг XML выдает такую переменную {-Xml.yandexsearch.response.results.grouping.group[0].doc.url-} для первого результата и {-Xml.yandexsearch.response.results.grouping.group[19].doc.url-} для последнего.
 

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
Я так понял что это невозможно сделать.) А может кто подскажет вариант парсинга УРЛ сайтов из выдачи Яндекса под текущий дизайн?
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
621
Благодарностей
341
Баллы
63
У вас есть переменная - {-Xml.yandexsearch.response.results.grouping.group[0].doc.url-}

0 - показывает что это первая значение в массиве, 19 это последнее значение в массиве, если длина массива статична, про делаете цикл от 0 до 19 и подставляете переменную счетчик в значение - получаем {-Xml.yandexsearch.response.results.grouping.group[{-Variable.Count-}].doc.url-}, и кладем в нужную переменную и записываем в нужное место
 

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
Спасибо, а подскажите пожалуйста как мне получить чисто домены из данного списка полученных URL на C# в виде http://site.ru?
https://xn--b1apmj9c.xn--p1ai/
https://kover.ru/
https://www.carpet-gold.ru/
https://BonKover.ru/
https://www.star-carpet.ru/
https://www.carpet-gold.ru/deshevyye_kovry/
https://xn--b1apmj9c.xn--p1ai/kovri
https://amikovry.ru/
https://www.kupiti-kover.ru/
https://kovrodvor.ru/kovry/
http://max-carpet.ru/
http://www.xn----dtbjjjc2aepoi5i.xn--p1acf/
https://centrkover.ru/
https://KoverVDom.ru/
https://www.koverbaza.ru/
https://amikovry.ru/shops/moscow/
https://supercarpets.ru/
http://mos-carpet.ru/
https://hit-kovry.ru/
https://LeroyMerlin.ru/catalogue/kovry/
https://kover.ru/catalog/
http://kover77.ru/
http://kuplu-kover.ru/
https://KoverExpert.ru/
https://kover.ru/cart/
https://zoon.ru/msk/shops/type/kovry/
https://kover.ru/blog/kak-vybrat-kover/putevoditel-po-magazinam-kovrov-gde-kupit-kover-v-Moskve/
http://magazin-kover.ru/
https://kover.ru/adresa-magazinov/
https://msk.blizko.ru/gde_kupit_mebel/aksessyari_dliy_doma/kovri
http://mos-carpet.ru/catalog
https://www.magazin-kovrov.ru/
http://www.orgpage.ru/moskva/магазины_ковров/
https://xn--b1apmj9c.xn--p1ai/sale
https://xn--b1apmj9c.xn--p1ai/characteristic_product-1/kovri-razmeshhenie/na-pol
https://kovercity.ru/
https://amikovry.ru/catalog/
https://amikovry.ru/shops/
http://www.moskarpet.ru/
http://mos-carpet.ru/catalog/rossiyskie
https://kovry-24.ru/
https://kovrodvor.ru/
http://sale-carpet.ru/
http://Kovroved.ru/
http://kuplu-kover.ru/catalog
https://kover-skazka.ru/
https://moskva.shopovisor.com/magaziny-kovrov
https://www.spr.ru/all/magazini-kovrov-i-kovrovih-pokritiy/
http://mxkr.ru/ru/magaziny_kovrov/msk
https://www.remkarta.ru/moskva/magaziny-kovrov/
https://kover-moskva.ru/
http://www.kovermostorg.ru/
http://moskover.ru/
http://www.ProKovri.ru/
http://m-kovry.ru/
http://xn--b1agnqm.xn--p1ai/

Я попробовал на кубиках через регулярку сделать, но почему-то не все вычищает, остается много пропущенных строк. И возможно ли сделать это на C# в одном кубике для разных доменов типа ru,com,su и др?

P.S. А инфа под спойлером не индексируется? А то я там столько ссылок запихнул. но как проблему решу, удалю их все.
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
621
Благодарностей
341
Баллы
63
Вы можете достать домен с помощью простого регулярного выражения - (?<=://).*?(?=/) , и перед добавлением в файл добавлять http://

На выходе у вас получается цепочка действий в цикле:
1. Берем начальный элемент массива
2. Обрабатываем его с помощью регулярного выражение
3. Кладем в файл [если вам нужно]
4. Берем следующее элемент

и так по кругу пока есть элементы массива :-)
 

bismark132

Client
Регистрация
19.05.2016
Сообщения
47
Благодарностей
2
Баллы
8
А можете привести пример кода на C#? Буду очень благодарен.
 

LiMe

Client
Регистрация
10.12.2015
Сообщения
621
Благодарностей
341
Баллы
63

gevolushn

Известная личность
Регистрация
25.03.2019
Сообщения
518
Благодарностей
269
Баллы
63
C#:
var url = project.Variables["URL"].Value;
if (url.IndexOf("://") == -1){
    url = "http://" + url;
}
project.Variables["URL"].Value = new Uri(url).Host;
Код, который вытягивает домен.
 

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