Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразование из XML в XML / 4 сообщений из 4, страница 1 из 1
16.11.2017, 09:44
    #39554074
Арчи05
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование из XML в XML
Доброго времени суток.

C XSLT не работал, но другого адекватного способа изменить структура файла XML не нашёл.

Исходный файл
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<?xml version="1.0" encoding="windows-1251"?>
<packet>
	<version>2.1</version>
	<date>27.03.2014</date>
	<omsExpert>
		<tf_okato>90000</tf_okato>
		<n_expert>0500001</n_expert>
		<fam>Иванов</fam>
		<im>Иван</im>
		<ot>Иванович</ot>
		<SNILS>324-545-167 45</SNILS>
		<phone>84950468129</phone>
		<e_mail>sadasd@mail.ru<;/e_mail>
		<organ_name>Организация</organ_name>
		<dolgnost>Начальник</dolgnost>
		<stazh>34</stazh>
		<expInclude>
			<Date_b>05.04.2011</Date_b>
			<organ_cod>6</organ_cod>
		</expInclude>
		<expDoc>
			<docSertificate>
				<spec_names>8</spec_names>
				<date_k>12.10.2019</date_k>
			</docSertificate>
			<docSertificate>
				<spec_names>18</spec_names>
				<date_k>17.11.2017</date_k>
			</docSertificate>
			<docCategory>
				<name_kat>1</name_kat>
			</docCategory>
			<docScDiplom>
				<name_step>1</name_step>
			</docScDiplom>
		</expDoc>
		<date_red>05.12.2012</date_red>
	</omsExpert>
	<omsExpert>
		<tf_okato>90000</tf_okato>
		<n_expert>0500002</n_expert>
		<fam>Петров</fam>
		<im>Петр</im>
		<ot>Петрович</ot>
		<SNILS>566-567-708 02</SNILS>
		<phone>89812934345</phone>
		<e_mail>mail2@mail.ru<;/e_mail>
		<organ_name>Кафедра глазных болезней</organ_name>
		<dolgnost>Зав. курсом</dolgnost>
		<stazh>15</stazh>
		<expInclude>
			<Date_b>08.07.2011</Date_b>
			<organ_cod>7</organ_cod>
		</expInclude>
		<expDoc>
			<docSertificate>
				<spec_names>20</spec_names>
				<date_k>21.04.2017</date_k>
			</docSertificate>
			<docCategory>
				<name_kat>1</name_kat>
			</docCategory>
			<docScDiplom>
				<name_step>2</name_step>
			</docScDiplom>
		</expDoc>
		<date_red>09.03.2017</date_red>
	</omsExpert>
</packet>



Необходимо теги <organ_name> <dolgnost> <stazh> перенести в каждый из блоков <docSertificate>
Тег <name_kat> перенести также в блок <docSertificate> , тег <docCategory> удалить

Результат должен получиться следующий
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<?xml version="1.0" encoding="windows-1251"?>
<packet>
	<version>2.1</version>
	<date>27.03.2014</date>
	<omsExpert>
		<tf_okato>90000</tf_okato>
		<n_expert>0500001</n_expert>
		<fam>Иванов</fam>
		<im>Иван</im>
		<ot>Иванович</ot>
		<SNILS>324-545-167 45</SNILS>
		<phone>84950468129</phone>
		<e_mail>sadasd@mail.ru<;/e_mail>		
		<expInclude>
			<Date_b>05.04.2011</Date_b>
			<organ_cod>6</organ_cod>
		</expInclude>
		<expDoc>
			<docSertificate>
				<spec_names>8</spec_names>
				<date_k>12.10.2019</date_k>
				<organ_name>Организация</organ_name>
				<dolgnost>Начальник</dolgnost>
				<stazh>34</stazh>
				<name_kat>1</name_kat>
			</docSertificate>
			<docSertificate>
				<spec_names>18</spec_names>
				<date_k>17.11.2017</date_k>
				<organ_name>Организация</organ_name>
				<dolgnost>Начальник</dolgnost>
				<stazh>34</stazh>
				<name_kat>1</name_kat>
			</docSertificate>			
			<docScDiplom>
				<name_step>1</name_step>
			</docScDiplom>
		</expDoc>
		<date_red>05.12.2012</date_red>
	</omsExpert>
	<omsExpert>
		<tf_okato>90000</tf_okato>
		<n_expert>0500002</n_expert>
		<fam>Петров</fam>
		<im>Петр</im>
		<ot>Петрович</ot>
		<SNILS>566-567-708 02</SNILS>
		<phone>89812934345</phone>
		<e_mail>mail2@mail.ru<;/e_mail>		
		<expInclude>
			<Date_b>08.07.2011</Date_b>
			<organ_cod>7</organ_cod>
		</expInclude>
		<expDoc>
			<docSertificate>
				<spec_names>20</spec_names>
				<date_k>21.04.2017</date_k>
				<organ_name>Кафедра глазных болезней</organ_name>
				<dolgnost>Зав. курсом</dolgnost>
				<stazh>15</stazh>
				<name_kat>1</name_kat>
			</docSertificate>			
			<docScDiplom>
				<name_step>2</name_step>
			</docScDiplom>
		</expDoc>
		<date_red>09.03.2017</date_red>
	</omsExpert>
</packet>



Пытался сам сделать хоть какое-то преобразование структуры файла XML, но безуспешно в IE отображаются данные без тегов, либо вообще ничего не отображается...
Если нет времени разбираться с этим, то скиньте хотя бы простой примерчик преобразования структуры XML.

Спасибо.
...
Рейтинг: 0 / 0
16.11.2017, 11:57
    #39554196
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование из XML в XML
Арчи05в IE отображаются данные без тегов, либо вообще ничего не отображается...IE отображает только html. Т.к. Вы делаете преобразование в XML, то в браузере вы результата не увидите. Вам нужен какой-то внешний инструмент
...
Рейтинг: 0 / 0
16.11.2017, 12:20
    #39554221
Арчи05
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование из XML в XML
_Vasilisk_,

Можете посоветовать какое-то?
...
Рейтинг: 0 / 0
16.11.2017, 16:38
    #39554486
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование из XML в XML
Здесь много.

Сам я пользуюсь рукописным скриптом, типа такого
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразование из XML в XML / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]