Сортировка нодов XML (Xpath) #733111


#0 by КусокЗабора
Как можно отсортировать ноды xml по значению атрибутов, Xpath или может еще есть механизмы в 1С? Прмер xml: Нужно что б в цикле ноды обрабатывались в определенном порядке, отсортированные по коду, иначе на мемент создания элемента с кодом 20, родителя еще в БД не будет Или только цикл сортировка пузырьком и всякое такое?
#0 by КусокЗабора
Как можно отсортировать ноды xml по значению атрибутов, Xpath или может еще есть механизмы в 1С? Прмер xml: Нужно что б в цикле ноды обрабатывались в определенном порядке, отсортированные по коду, иначе на мемент создания элемента с кодом 20, родителя еще в БД не будет Или только цикл сортировка пузырьком и всякое такое?
#1 by Timon1405
1. цикл пробежаться создать элементы 2. цикл пробежаться привязать родителей(элементы гарантированно уже будут) 3. профит
#2 by КусокГовна
понятно, короч "оставь надежды, это ж 1С" Придется делать циклами, что поделать )
#3 by Остап Сулейманович
Причем здесь 1С? Это XML. И сортировать нужно было "до того как".
#4 by КусокГовна
при том что в нормальных языках возможность о какой я спрашивал есть
#5 by Остап Сулейманович
Сортировать принципиально не сортируемые данные? Есть в других языках? Я хочу это видеть. Ты с ДБФ не перепутал?
#6 by Asmody
ну ка изобрази
#7 by КусокГовна
открой для себя c# (как пример)
#8 by su_mai
может поможет
#9 by КусокГовна
->
#10 by George Wheels
Перед созданием элемента с кодом 20 проверяем есть ли элемент с кодом 3. Если есть хорошо, если нет, то создаём пустой с кодом 3. После проверки родителя ищем элемент с кодом 20. Если есть, то заполняем его, если нет, то создаём...
#11 by su_mai
+ В 1С есть объект "ПреобразованиеXSL (XSLTransform)"
#12 by КусокГовна
спасибо видел когда искал решения, только как это в 1С использовать не понял. и про ПреобразованиеXSL знаю, но я ж не могу к каждой xml генерить xsl
#13 by Asmody
То, что xslt имеет тег sort, я знаю. но это примерно то же самое, что сказать "в SQL есть ORDER, значит сортировка без цикла". Ты мне сортировку без цикла покажи, иначе будешь ты не , а КусокПиздуна
#14 by igork1966
будешь удивлен... без дополнительных данных сортировка дерева всегда с циклами. Так что в вполне нормальный результат.
#15 by igork1966
+ всегда с циклам даже если ты их не видишь в своем коде
#16 by КусокГовна
процетируй меня где я писал что дайте мне возможность сортировки без цикла? Мне не важно как внутри отрабатывают встроеные механизмы, если углубимся до асмы так там все в циклы превращаются, и чо? Я говорил про то что 1С недоразвит, нет нормальных механизмов
#17 by Asmody
Это ты недоразвит
#18 by КусокГовна
обоснуй
#19 by КусокГовна
кстати я на личностные оскорбления не переходил, а ты так реагируешь как будто я тебя оскордил, или поплачь у фото нуралиева ))
#20 by Asmody
ветку обнови
#21 by igork1966
Парсеры xml ничего не знаю о внутренностях твоих узлов. И с какого они должны уметь сортировать дерево незнамо как устроенное.
#22 by igork1966
+ способов хранения дерева не один
#23 by КусокЗабора
Это вообще не аргумент, можно ж указать что отсортируй по значению этого атрибута. Короче 1С отстой, а вы все 1Сниги бесетесь потому что нет контраргументов, ну не умеет она такого что тут поделать и не нужно пытаться искать оправдание этому
#24 by igork1966
попробуй в TSQL выбрать иерархические данные с сортировкой... потом кричи "MS SQL" отстой
#25 by George Wheels
Сортировка не нужна. Пробуй .
#26 by КусокЗабора
да линком я тебе что хочешь выберу откуда хочешь, с сортировкой с двумя (linq)
#27 by КусокЗабора
спасибо, попробую
#28 by igork1966
код покажи, которым ты отсортируешь дерево содержащееся в наборе данных (id, parentid) без цикла и без дополнительных данных
#29 by igork1966
+ linq-ом
#30 by Asmody
При чем тут линк? Если тебе в одном языке завернули всю механику в "синтаксический сахар", а в другом — нет, это ничего не значит.
#31 by Asmody
А хуже всего то, что ты, походу, не понимаешь, что за всем этим "сахаром" стоит.
#32 by КусокЗабора
пример на xml из пойдет?
#33 by КусокЗабора
главное что б ты понимал )
#34 by igork1966
пойму
#35 by Asmody
Например, в scala xml — вообще самостоятельный тип данных, к которому можно применять все прелести функциональщины. Удобнее от этого программисту? Несомненно. Лучше от этого scala обрабатывает xml, чем java или c#? Сомнительно.
#36 by КусокЗабора
#37 by КусокЗабора
"главное что б ты понимал )" это не тебе было
#38 by КусокЗабора
->
#39 by Бубка Гоп
ээм. а выгрузить ноды в ТЗ и ТЗ.Сортировать не? и создавать элементы перебирая тз, ессно
#40 by igork1966
B что это? Как сортировка узлов по коду поможет отсортировать данные с учетом дерева?
#41 by igork1966
Или ты предполагаешь что что елементы-дочки всегда с большими кодами? С чего? Элемент нельзя переподчинить?
#42 by КусокЗабора
да вариантов полно, я вообщет спросил можно ли это XPath'ом сделать или как-нить еще
#43 by igork1966
+ к тому же node.Elements это аналогично выгрузке в таблицу значений... И ЧЕ?
#44 by КусокЗабора
я показал решение моего вопроса линком, причем в одну строку.
#45 by Бубка Гоп
зачем как нить еще если можно воспользоваться встроенным функционалом?
#46 by КусокЗабора
так нет его, приходится искать варианты и выкручиваться
#47 by igork1966
Не показал. Поскольку это не сортировка дерева с учетом иерархии
#48 by КусокЗабора
какая таблица значений, ты о чем, забудь свой 1С когда говоришь о c#
#49 by igork1966
кокая разница... коллекция
#50 by КусокЗабора
вопрос был: "Нужно что б в цикле ноды обрабатывались в определенном порядке, отсортированные по коду" задачу решает. Или иди читай про линк
#51 by Бубка Гоп
-> чем не встроенный функционал? кстати полностью аналогично твоему примеру из
#52 by КусокЗабора
ну и? прочитай, я уже об этом писал
#53 by igork1966
в НЕ СОРТИРОВКА С УЧЕТОМ ИЕРАРХИИ и на самом деле не решает проблему со вставкой иерархических данных расположенных в не сортированной коллекции
#54 by КусокЗабора
и это встроеный функционал, и своя сортировка (тем же пузырьком) - встроеный функционал т.е. использования встроеных механизмов, но это как не крути свое решение
#55 by КусокЗабора
у меня данной задачи не было, это раз. Набросай мне структуру xml (иерархическую) какую нельзя было бы отсортировать линком
#56 by Бубка Гоп
в пример алгоритма для ухода от сортировки. в сама сортировка, так тебе необходимая
#57 by Бубка Гоп
ТЗ.Сортировать - это не свое решение. это решение платформы. и твою задачу решает чуть более чем полностью. чего еще нужно не могу понять
#58 by igork1966
ну лови
#59 by igork1966
#60 by КусокЗабора
и как тебе это отсортировать? по какому артибуту?
#61 by КусокЗабора
а выгружать ты ноды xml в ТЗ как будешь, циклом?
#62 by igork1966
по иерархии.. чтобы сначала родители появлялись. С учтетом того что уровней неизвестное количество
#63 by КусокЗабора
(рецепт длиннопостов - оскорбить 1С) :)
#64 by igork1966
я не пишу на 1С, уже 2 года ежели че
#65 by igork1966
+ просто подобные наезды не более чем юношеский максимализм
#66 by КусокЗабора
для уточнения, результат ты хочешь в такой последовательностии?
#67 by КусокЗабора
просто я писал и пишу не только на 1С и чувствую разницу
#68 by igork1966
я по-моему ясно описал задачу:
#69 by КусокЗабора
да без проблем, 5 сек дай мне
#70 by Asmody
и чё? на scala будет так:
#71 by КусокЗабора
взять тот же код var result = node.Elements.OrderBy(_ => _.TryGetAttributeValue("Родитель", "0").ToDecimal);
#72 by igork1966
под каждый набор данных будешь новый код писать? В общем виде это не решит проблему
#73 by КусокЗабора
что значит под каждый набор данных?
#74 by igork1966
#75 by КусокЗабора
ты не очень понимаешь смысла кода т.к. он и сортирует без проблемм
#76 by Бубка Гоп
какая разница как их выгружать в ТЗ? даже если циклом, один раз прочитал его в тз и делай с ним что хочешь. хоть сортируй хоть сворачивай, хоть поиск строк. хоть в запрос в ВТ засунь. это будет явно более универсальный механизм чем
#77 by igork1966
Это означает что сортировка по родителю не даст результата на произвольном дереве.
#78 by КусокЗабора
тебе нужно по коду в обратной последовательности?
#79 by Asmody
Ты не понимаешь условия. В случае никакая сортировка тебе не поможет
#80 by igork1966
Похоже это ты не понимаешь что такое сортировка дерева с учетом иерархии.
#81 by КусокЗабора
так кто ж иерархию в xml в плоском виде представляемт, это ж XML. А если структура у нее будет древовидная то нет проблемм. Вы не понимаете сути, линком я могу сортировать ноды по значению атрибутов и отсюда можно отталкиваться и строить алгоритмы, в 1С нет такой возможности
#82 by igork1966
Это называется передернуть карты. Поскольку у тебя в вовсе не в иерархии xml хранится.
#83 by igork1966
Слив засчитан
#84 by Asmody
" так кто ж иерархию в xml в плоском виде представляемт" — в
#85 by Asmody
Кстати, ты подставился. Ибо разбор xml с учетом иерархии — та еще задачка.
#86 by КусокЗабора
тогда я точно не понимаю какую сортировку от меня хочет увидить т.к. в моем примере я могу сортировать как по коду, так и по родитель, да хоть по коду и родителю одновременно, эт раз. Два я пришел сюда с определенной задачей, а вы накрутили каких-то еще задач какие я решать и не соберался
#87 by Бубка Гоп
как то сам с собой не в ладах тс походу
#88 by КусокЗабора
в моей xml задача явно описана была, перечитай
#90 by igork1966
Сортировка дерева с учетом иерархии достаточно не тривиальная задачи и без циклов принципиально не решается. При правильной сортировке по иерархии родители всегда раньше детей встречаются в наборе. Независимо от полей id и parentid
#91 by КусокЗабора
сухой остаток, в 1С нет возможности сортировтаь ноды по атрибуту - вывод 1С шняга. А вся остальная демагогия это вопли 1Сников, т.к. на их хлеб нагадели
#92 by КусокЗабора
кто вообще говорил про сортировку с учетом иерархии? почему мы обсуждаем это? Ну давайте тогда за одно обсудим проблемы адресации памети, или кто убил Кнеди, а что, все равно с каким вопросом пришли в будем обсуждать всче что захотим
#93 by Новенький_2009
Кажется, пора товарищу красную карточку выписывать.
#94 by Бубка Гоп
win
#95 by igork1966
Это ясно было из твоего XML Просто никто не будет решать задачу ради 3 строк как в НА произвольных данных твой алгоритм провалится
#96 by Бубка Гоп
если тебе этого НАСТОЛЬКО не хватает, а реализовать это по другому не позволяет религия или уровень интеллекта, то вероятно 1с и правда не для тебя
#97 by Asmody
А в c# нет возможности делать отчеты на СКД. Всё, c# — голимый отстой!
#98 by КусокЗабора
на основе чего?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям