Помогите решить задачу с xml

kabab

Client
Регистрация
05.06.2011
Сообщения
46
Благодарностей
1
Баллы
8
Здравствуйте. Беру xml с товарами. Розпаршую. На выходе получаю:
Название товара|Производитель|Цена|Урл уартинки|Урл партнерки

Но, после этих манипуляций, остаются дубли названия товаров, от которых хочу избавиться. Пример:
Курточка синяя|Производитель|Цена|Урл уартинки|Урл партнерки
Курточка синяя|Производитель|другая цена|другой урл уартинки|другой урл партнерки
такое может повторяться много раз.

Подскажите или пните, как удалить такие дубли, а то что то никак не могу понять как сделать?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
перебором. берешь 1ю строку. Достаёшь с неё названия. Прогоняешь остальные строки и удаляешь все, где есть такое название. Берешь вторую строку...
 
  • Спасибо
Реакции: kabab

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 264
Баллы
113
C#:
var data = "Курточка синяя|Производитель|другая цена|другой урл уартинки|другой урл партнерки";
var rez = string.Join("|",data.Split('|').Distinct().ToList());
return rez;
 
  • Спасибо
Реакции: kabab

kabab

Client
Регистрация
05.06.2011
Сообщения
46
Благодарностей
1
Баллы
8
Всем спасибо. Добавил просто один экшен, видимо отдыхать больше надо. :D
 

kabab

Client
Регистрация
05.06.2011
Сообщения
46
Благодарностей
1
Баллы
8
Не стал создавать новую тему. Возникла следующая проблема и не знаю как ее решить. Обрабатываю хмл так: беру построчно и регулярками раскидываю как мне нужно. Но часто встречаются товары такого вида:
HTML:
<offer available="true" group_id="36843" id="36843n122" type="vendor.model"><name>Комбинезоны Acoola</name><picture>http://acoolakids.ru/media/goods/36843/0/big-2.jpg</picture><picture>http://acoolakids.ru/media/goods/36843/1/big-2.jpg</picture><picture>http://acoolakids.ru/media/goods/36843/2/big-2.jpg</picture><picture>http://acoolakids.ru/media/goods/36843/3/big-2.jpg</picture><price>699</price><vendor>Acoola</vendor><description>- Комбинезон из легкого эластичного трикотажа с ярким тропическим принтом, декорированный яркой окантовкой из ленты с перфорацией на рукавах и карманах.
- Модель с широким вырезом горловины с эластичной резинкой, поясом на эластичной резинке и боковыми карманами.
- Ширина изделия по линии груди 33 см
- Ширина изделия по линии талии 27 см
- Длина внутреннего шва 4 см
Числовые параметры соответствуют размеру 110.
Разница между размерами составляет 1,5 см.</description><url>урл партнерки</url></offer>
Получается что в этом куске коде выходит аж 9 строк и соответственно мой метод не подходит. Пробовал брать с выделить подсписок регуляркой <offer\ available[\w\W]*</offer>, зено так тоже не видит этих кусков кода. Помогите пожалуйста как решить?



Когда распарсиваю хмл файл, встречаются товары
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
(?<=<offer[^>]*>)[\w\W]+?(?=</offer>) этой регуляркой можно брать содержимое узла оффер.
а из него подобными регулярками можно брать все остальное , например, (?<=<description[^>]*>)[\w\W]+?(?=</description>)
 

kabab

Client
Регистрация
05.06.2011
Сообщения
46
Благодарностей
1
Баллы
8
Блин, я не могу понять, как взять регуляркой (?<=<offer[^>]*>)[\w\W]+?(?=</offer>) только один товар с его удалением из общего списка... :(
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 613
Благодарностей
4 601
Баллы
113
через работу с текстом, замену. Что заменить - спаршенный текст, на что заменить - пустота
 

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