2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
|
1 | |
Поясните смысл задания. Трансформация xml-данных14.04.2015, 14:50. Показов 1386. Ответов 10
Метки нет (Все метки)
Задание расширить программу.Изначально создавался список объектов и этот же список сериализовался в xml-файл. Теперь нужно реализовать возможность обработки структур перед сохранением в файл - трансформация xml-данных согласно правилу(например, замена всех атрибутов тегами). Не могу вникнуть в суть задания, если кто знает, поясните, пожалуйста.
0
|
14.04.2015, 14:50 | |
Ответы с готовыми решениями:
10
Поясните смысл задания Поясните смысл задания плз. Трансформация XML Поясните смысл записи |
1215 / 806 / 244
Регистрация: 08.08.2014
Сообщений: 2,371
|
|||||||||||
14.04.2015, 15:06 | 2 | ||||||||||
Посмотрите общие сведения об XSLT.
От вас, скорее всего, требуется из исходного XML получить XML другой структуры. Например, заменить все атрибуты на тэги.
1
|
2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
|
14.04.2015, 18:09 [ТС] | 3 |
0
|
1215 / 806 / 244
Регистрация: 08.08.2014
Сообщений: 2,371
|
|
14.04.2015, 18:41 | 4 |
Для XML есть лишь ограничения по синтаксису, структура же конкретного документа и возможные преобразования определяются спецификой решаемой задачи. Соответственно и преобразовывать некий XML можно как угодно - в XML другой структуры, в HTML, в форматированный текстовый файл, в исходники на каком-нибудь языке.
Всё это можно делать либо применяя XSLT, либо кодом программы. Зависит от задачи.
0
|
2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
|
14.04.2015, 21:32 [ТС] | 5 |
Решил начать с замены атрибутов тегами.. Сразу напоролся на проблему: для xslt как я понял нужно писать что-то типо шаблона.. а у меня в xml могут хранится различные объекты, и составлять для каждого шаблон как минимум не рационально. что можете посоветовать? очень слабо знаком с xml, с xslt только сейчас начал разбираться, может там есть именно то, что мне нужно, а именно замена всех атрибутов?
Работаю в среде intellij idea, там в редакторе xml есть XML Refactorings и есть операция Replace Attribute With Tag, она делает именно то, что мне и нужно, но только для выделенного атрибута
0
|
1215 / 806 / 244
Регистрация: 08.08.2014
Сообщений: 2,371
|
||||||
14.04.2015, 22:00 | 6 | |||||
Я плохо знаком с XSLT. Однако, Гугл сходу выдал вот такое решение на stackoverflow.
Только не очень понятно, что именно вам нужно сделать в рамках задания. Может вообще не стоит в XSLT углубляться, всё-таки, это весьма серьёзная тема, возможно будет достаточно сделать запрошенные преобразования просто кодом.
0
|
2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
|||||||||||
14.04.2015, 22:23 [ТС] | 7 | ||||||||||
Спасибо, уже сам догуглил до этой темы.
У вас всё хорошо с табуляцией в преобразованном xml? у меня преобразованные элементы находятся в начале строки. Вот пример: Исходный файл:
0
|
1215 / 806 / 244
Регистрация: 08.08.2014
Сообщений: 2,371
|
||||||
14.04.2015, 22:40 | 8 | |||||
Попробуйте так.
1
|
2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
||||||
14.04.2015, 22:50 [ТС] | 9 | |||||
0
|
1215 / 806 / 244
Регистрация: 08.08.2014
Сообщений: 2,371
|
|
14.04.2015, 23:11 | 10 |
Я так понимаю, это зависит от количества пробелов (табуляций) в исходном документе. Мне XMLSpy исходный документ отформатировал при помощи табов (один таб на уровень), так что у меня со значением '8' правильные отступы получаются.
Трансформер, похоже, те элементы, которые копируются напрямую, не трогает вовсе, а те, которые формируются в рамках преобразования, двигает в соответствии со значением 'indent-amount'. Так что решение так себе. Если во каком-то входном документе окажется другой размер отступа, придётся менять размер отступа у трансформера.
0
|
2 / 2 / 5
Регистрация: 01.10.2013
Сообщений: 203
|
|
14.04.2015, 23:52 [ТС] | 11 |
0
|
14.04.2015, 23:52 | |
14.04.2015, 23:52 | |
Помогаю со студенческими работами здесь
11
Поясните смысл фразы Трансформация из XML в PDF Поясните, пожалуйста, смысл lint Трансформация xml файла в INI файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |