Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как преобразовать XML. из одного вида в другой??? / 7 сообщений из 7, страница 1 из 1
27.10.2009, 14:21
    #36274866
Rusich2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Здравствуйте!

Можно ли преобразовать 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.
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.
<data>
	<show title="Облачно, возможны осадки">
		<description>
			<year> 2009 </year>
			<genre>Анимационный фильм</genre>
			<director>Фил Лорд, Крис Миллер</director>
			<actors>русский дубляж: Александр Пушной, Татьяна Лазарева, Михаил Шац</actors>
		</description>
		<performances>
			<event start="Oct 27 2009 03:30:00 GMT" end="Oct 27 2009 05:00:00 GMT" kinoteatr="Кинотеатр "Мир="""" hall="КРК Мир">
				<prices>
					<price zonenamme="Эконом" price="60.00 r."/>
					<price zonenamme="Звуковая зона" price="60.00 r."/>
					<price zonenamme="Диваны" price="250.00 r."/>
				</prices>
			</event>
			<event start="Oct 27 2009 05:25:00 GMT" end="Oct 27 2009 06:55:00 GMT" kinoteatr="Кинотеатр "Мир="""" hall="КРК Мир">
				<prices>
					<price zonenamme="Эконом" price="70.00 r."/>
					<price zonenamme="Звуковая зона" price="70.00 r."/>
					<price zonenamme="Диваны" price="250.00 r."/>
				</prices>
			</event>	
		</performances>
	</show>
	<show title="Серенький козлик">
		<description>
			<year> 2009 </year>
			<genre>Блокбастер</genre>
			<director>Фил Лорд, Крис Миллер</director>
			<actors>Арнольд Шварценеггер</actors>
		</description>
		<performances>
			<event start="Oct 27 2009 03:30:00 GMT" end="Oct 27 2009 05:00:00 GMT" kinoteatr="Кинотеатр "Мир="""" hall="КРК Мир">
				<prices>
					<price zonenamme="Эконом" price="60.00 r."/>
					<price zonenamme="Звуковая зона" price="60.00 r."/>
					<price zonenamme="Диваны" price="250.00 r."/>
				</prices>
			</event>
			<event start="Oct 27 2009 05:25:00 GMT" end="Oct 27 2009 06:55:00 GMT" kinoteatr="Кинотеатр "Мир="""" hall="КРК Мир">
				<prices>
					<price zonenamme="Эконом" price="70.00 r."/>
					<price zonenamme="Звуковая зона" price="70.00 r."/>
					<price zonenamme="Диваны" price="250.00 r."/>
				</prices>
			</event>
		</performances>
	</show>	
</data>



В XML такого вида:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
	<kino>
		<KinoDate> 27 . 10 . 2009 </KinoDate>
		<KinoTime> 03 : 30 </KinoTime>
		<KinoName>Облачно, возможны осадки</KinoName>
	</kino>
	<kino>
		<KinoDate> 27 . 10 . 2009 </KinoDate>
		<KinoTime> 05 : 25 </KinoTime>
		<KinoName>Облачно, возможны осадки</KinoName>
	</kino>
	<kino>
		<KinoDate> 27 . 10 . 2009 </KinoDate>
		<KinoTime> 05 : 25 </KinoTime>
		<KinoName>Серенький козлик</KinoName>
	</kino>
	<kino>
		<KinoDate> 27 . 10 . 2009 </KinoDate>
		<KinoTime> 05 : 25 </KinoTime>
		<KinoName>Серенький козлик</KinoName>
	</kino>	
</ROOT>


Каким способом это можно сделать?

Спасибо.
...
Рейтинг: 0 / 0
27.10.2009, 22:37
    #36275855
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Rusich2012, xslt.
...
Рейтинг: 0 / 0
28.10.2009, 12:38
    #36276903
Rusich2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Сделал XSLT.

Пытаюсь вывести дату в теге <KinoTime></KinoTime> , а он ругается - Сообщение: Возникла ошибка со следующим сообщением: "Не удается найти сценарий или внешний объект, реализующий префикс "ms""

Помогите разобраться, в чем дело???


Код: 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.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
	  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	  xmlns:ms="urn:schemas-microsoft-com:xslt">


	<xsl:output method="xml" indent="yes" encoding="windows-1251" />
	<xsl:template match="/">
		<ROOT>
			<xsl:for-each select="//show">
				<xsl:for-each select="//show/performances/event">
					<kino>
						<KinoDate>
							<xsl:value-of select="//show/description/year"/>
						</KinoDate>
						<KinoTime>
							<!--- <xsl:value-of select="@start"/> -->
							<xsl:value-of select="ms:format-time(., 'hh:mm:sstt')"/>
						</KinoTime>

						<KinoName>
							<xsl:value-of select="@kinoteatr"/>
						</KinoName>

						<KinoZal>
							<xsl:value-of select="@hall"/>
						</KinoZal>

						<KinoTitle>
							<xsl:value-of select="@title"/>
						</KinoTitle>

					</kino>
				</xsl:for-each>
			</xsl:for-each>
		</ROOT>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
28.10.2009, 15:56
    #36277723
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Rusich2012, а в чем вы это делаете?
...
Рейтинг: 0 / 0
28.10.2009, 17:32
    #36277982
Rusich2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Я создал проект служб SSIS. Компонент "Transform XML".
Возможно ли это из-за версионости?
...
Рейтинг: 0 / 0
28.10.2009, 18:39
    #36278110
слоненок
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Rusich2012, странно, вроде у вас все как надо указанно
Код: plaintext
xmlns:ms="urn:schemas-microsoft-com:xslt"
, у меня не ругается, но все эти майкософтовские расширения просто не работают (использую System.Xml.Xsl.XslCompiledTransform)

используйте лучше функцию substring

Код: plaintext
select="concat(substring(@start, 8, 4), ' - ', substring(@start, 5, 2), ' ', substring(@start, 1, 3))"
...
Рейтинг: 0 / 0
11.11.2009, 12:40
    #36303564
Rusich2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как преобразовать XML. из одного вида в другой???
Спасибо!

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


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