![]() |
Модераторы: diadiavova |
![]() ![]() ![]() |
|
grindbastard |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
Доброго всем времени суток)
Ребят, необходима помощь в преобразовании, ибо я пока полный профан в этом деле)
надо "забабахать" XMLтакого вида
|
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Вот такой код даст тебе приведенный результат вообще из любого хмл-источника.
![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
grindbastard |
|
||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
сорь, что-то натупил)) прост тут надо написать шаблон (используя XSLT и XPath) преобразующий основной XML к виду
пока смог написать лишь это
соответственно есть вопросы)) а именно, как можно создать собственные тэги (<QQQ>) и как вытянуть оставшиеся атрибуты со значениями)) ибо пока что вытягивается инфа из всех char....как отсеять и оставить только то, что нужно)) Это сообщение отредактировал(а) grindbastard - 11.5.2013, 02:28 |
||||
|
|||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Они просто вставляются в то место где должны находиться. Оставшиеся после чего и откуда вытянуть? Если надо скопировать атрибуты с какого-то элемента без изменений, то это можно сделать к примеру так
В выходном документе появится только то, что ты туда вставишь. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
grindbastard |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
спасибо,с тэгами понял)))
поповоду атрибутов...тот шаблон, который написал, он получает все атрибуты из всех тегов char...а необходимо получить только конкретные и их значения, а именно ege ="444" fwfww ="4454" s ="34234" wdwwwwww = "334355" trjj="trutu" ykky="6ii6k"....каким образом можно это можно реализовать? еще загвоздка в том, что некоторые атрибуты принадлежат тегам char_g, а их значения в char... ![]() |
|||
|
||||
diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Он получает все атрибуты из текущего элемента контекста. То есть какой элемент в данном случае обрабатывается, из того и копируются атрибуты. Если тебе надо скопировать конкретные атрибуты, то сфоричить не получится, по крайней мере если нельзя задать критерий фильтрации, так что в этом случае придется для каждого атрибута писать свой копи-оф.
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||
|
|||||
grindbastard |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
хм...ну из этой строчки(родной XML)
воспользовавшись тем, что ты написал
не получится это
т.к. в теге char сам атрибут, как видишь - name и уже он равен ege я привел, в самом начале, XML который должен в результате получиться....вот он еще раз
если ставить конкретно задачу, то из всего начального XML надо выбрать необходимые конкретные элементы, а именно: ege,fwfww, s,wdwwwwww,trjj,ykky, которые являются значениями атрибутов name в тегах char и char_g соответственно, также надо выбрать соответствующие эл-ты value,значение которых: 444,4454,34234,334355,trutu,6ii6k т.е. например, при обработке, строчка из родного XML : <char name="ege" value="444" /> должна быть обработана по шаблону так, что бы на выходе получилась строчка такого вида: ege ="444" и так далее по всем приведенным выше элементам (fwfww, s,wdwwwwww,trjj,ykky) ))) |
||||||||
|
|||||||||
diadiavova |
|
||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
grindbastard, Ну наконец-то ты объяснил, что тебе на самом деле надо.
![]()
что значит выбрать? Вообще это выражение xpath выглядит так
-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
||||||
|
|||||||
grindbastard |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
хм,т.е. используя < xsl: value - of select ="//char[@name = 'ege']/@value" /> получится в результате ege ="444", как я понимаю?)))
а если необходимое значение атрибута находится в тегe char_g а информация из value в теге char(например < char_g name="s" > < char name="ccc" value= " 34234 " />...должна получиться строчка s = "34234" ) то запрос будет такой?
|
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 22 Всего: 142 |
Ну попробуй, я не проверял сами выражения, но принцип такой. Суть ты понял ![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
grindbastard |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 5.5.2013 Репутация: нет Всего: нет |
Огромное спасибо! Все пашет как часы))))
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "XML/XSLT" | |
|
Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась. Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение. Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел Желаем удачи в Вашем деле! Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | XML, XSL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |