XML декодирование многострочной структуры категорий в однострочную

Тема в разделе "Решение проблем с использованием программы", создана пользователем Djahat, 20 фев 2017.

  1. Djahat

    Djahat Well-Known Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Всем привет.
    Обычно решаю такую задачу как ниже руками в ЭКСЕЛЕ.
    Но задался вопросом, может ктото подскажет как можно такой разбор автоматизировать в CD если можно конечно.

    Задача:
    В XML файлах обычно категории закодированны так. есть category id="XX" есть parent_id="XX".
    Текам образом можно выстроить сколь угодно длинную вложеннность категорий, назначая parent_id для углубления списка вложенности.

    Но вот вопрос: можно как то декодировать такую многострочную запись, в однострочную, типа Главная категория 1//Подкатегория 1//Подкатегория 2//Подкатегория 3//......

    Пример такого кода:

    <category id="1">Главная категория 1</category>
    <category id="2">Главная категория 2</category>
    <category id="3">Главная категория 3</category>
    <category id="10" parent_id="1">Подкатегория 1 главной категории</category>
    <category id="20" parent_id="2">Подкатегория 2 главной категории</category>
    <category id="40" parent_id="20">Под Под категория 2 главной категории</category>
    <category id="120" parent_id="40">Под Под ПОД категория 2 главной категории</category>


    И вот такой бы кусок многострочного кода:

    <category id="2">Цветы</category>
    <category id="120" parent_id="40">В наличии</category>
    <category id="20" parent_id="2">В горшках</category>
    <category id="40" parent_id="20">Большой горшок</category>

    Конвертировался бы вот в такой кусок однострочного кода:

    Цветы//В горшках//Большой горшок//В наличии


    Если у кого есть идеи, пишите, буду рад почитать :)
     
  2. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Здравствуйте
    Можно, но для этого нужно куча времени и писать макрос который это будет преобразовывать.
    Если вы имеете ввиду что сначала есть xml и мы его распарсиваем контентом, то это тоже можно сделать, но нужно опять же много времени, создается УНИФИЦИРОВАННЫЙ список поиск замен (который будет динамически создаватся) на основе исходного xml
    Но это все время, время, и деньги)
     
    Djahat нравится это.
  3. Djahat

    Djahat Well-Known Member Пользователи

    Регистрация:
    14 янв 2013
    Сообщения:
    543
    Город:
    Мордор
    Думаю тогда это того не стоит в экселе будк продолжать :)
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Это вы парсите с интернета xml? Хотелось бы понимать, как часто такое встречается, чтобы оценить целесообразность реализации.

    Спасибо!
     
  5. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    xml редко распарсиваются.
     
  6. Diabet

    Diabet Member Пользователи

    Регистрация:
    12 фев 2012
    Сообщения:
    114
    Добрый день было бы круто если бы можно было реализовать это в обратном порядке при парсинге в xml файл то есть
    из категорий такого вида Цветы//В горшках//Большой горшок//
    хотелось бы получить
    вот такое
    <category id="2">Цветы</category>
    <category id="120" parent_id="40">В наличии</category>
    <category id="20" parent_id="2">В горшках</category>
    <category id="40" parent_id="20">Большой горшок</category>
    Очень многие системы переходят на импорт через xml.
     
  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    А <category id="120" parent_id="40">В наличии</category> откуда вязялось?

    И откуда брать ID?
     

Поделиться этой страницей