|
|
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Добрый день. Читал несколько тем о том, как игнорировать повторяющиеся ноды, в частности: Группировка? и XLS + убрать дублирующие ноды . Моя задача несколько отличается, дело в том, что мне нужно получить из неполностью дублирующейся ветки некоторые данные, а потом ее проигнорировать. Имею xml-файл следующей структуры: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. Я вывожу эти данные в таблицу и, чтобы не дублировать всю строку, хочу вывести все значения тега <Количество> через запятую при обработке первой строки из набора дублирующихся. Вот, как я пытаюсь это сделать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Условие Код: plaintext Условие Код: plaintext У меня есть подозрение, что выбранный мною способ не совсем подходит к задаче, т.к. повторяющихся строк может быть больше двух, а я захватываю только 2. Мне кажется, наиболее подходящий алгоритм приведен в XLS + убрать дублирующие ноды . Пожалуйста, помогите мне преобразовать его для моих нужд? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 23:40 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 01:36 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Вернее даже так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 01:37 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Слушайте , мне одному кажется что в _Vasilisk_"not(preceding-sibling::row[Имя = current()/Имя and Фамилия = current()/Фамилия]" закрывающей круглой скобки нехватает? это первое. второе, смущает вот это: Код: plaintext 1. третье кодировка - если utf-8 , то с 99% уверенностью с рускими тегами ничего работать не будет. Тестинг показал что оснавная загвозка идет в первом условии. Немного не то что ты хотел, но все же: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 08:36 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
а в общем складывается впечатление что ты ось используешь не в том направлении, то есть надо обходить братьев ниже, а ты как будто пытаешься искать в тех что раньше, хотя... могу и ошибаться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 08:38 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Используя условие, предложенное _Vasilisk_ , преобразовал свою xsl-ку к следующему виду: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. SuSaа в общем складывается впечатление что ты ось используешь не в том направлении, то есть надо обходить братьев ниже, а ты как будто пытаешься искать в тех что раньше, хотя... могу и ошибаться Первым условием xsl:if я отсекаю повторяющиеся строки(теперь оно работает).Вторым xsl:if я выбираю нужную мне информацию из идущей далее дублирующей строки. Загвоздка в том, что в предложенной реализации я выбираю нужную мне информацию только из первой дублирующей строки, а остальные просто отсекаются первым xsl:if. Как избавиться от этого ограничения? SuSaтретье кодировка - если utf-8 , то с 99% уверенностью с рускими тегами ничего работать не будет. Работает с русскими тегами. это факт :) Чем вас не устраивает строчка <xsl:template match="/queryResult"> ? Я использую ее вместо <xsl:template match="/">, чтобы не писать лишнего в путях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 11:35 |
|
||
|
удаление повторяющихся строк
|
|||
|---|---|---|---|
|
#18+
Разобрался, как выбирать нужную мне информацию из всех похожих братьев. Заменил условие Код: plaintext 1. 2. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2009, 19:11 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=35756171&tid=1333679]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
152ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 484ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...