Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Работа с преобразованным xml / 13 сообщений из 13, страница 1 из 1
05.03.2010, 17:54
    #36505540
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Здравствуйте.
Подскажите, пожалуйста, как работать с преобразованным xml документом?

XML было:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<root>
   <user>
       <name>Вася Пупкин</name>
       <traffic> 150 </traffic>
   </user>
   <user>
       <name>Петя Хвостов</name>
       <traffic> 290 </traffic>
   </user>
   <user>
       <name>Галя Фывина</name>
       <traffic> 630 </traffic>
   </user>
</root>

XSL:
Код: 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.
<?xml version='1.0' encoding='windows-1251'?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="xml" indent="yes" />
  
  <?xml-stylesheet type="text/xsl" href="people_.xsl"?>
  
  <xsl:template match="/root">
    <people>
      <xsl:apply-templates select="user"/> 
    </people>
  </xsl:template>
  
  <xsl:template match="user">
    <record>
      <name>
       <xsl:value-of select="substring-before(name, ' ')" />
      </name>
      <traffic>
        <xsl:value-of select="traffic"/>
      </traffic>
    </record>
  </xsl:template>

</xsl:stylesheet>

XML стало:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<people>
   <record>
      <name>Вася</name>
      <traffic> 150 </traffic>
   </record>
   <record>
      <name>Петя</name>
      <traffic> 290 </traffic>
   </record>
   <record>
      <name>Галя</name>
      <traffic> 630 </traffic>
   </record>
</people>

Теперь необходимо обратиться к новым данным, полученным после преобразования, и работать с ними. Подскажите, пожалуйста, как это сделать?
...
Рейтинг: 0 / 0
05.03.2010, 22:27
    #36505847
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepyТеперь необходимо обратиться к новым данным, полученным после преобразования, и работать с ними. Подскажите, пожалуйста, как это сделать?Разницы в принципах работы с XML до преобразования и после нет никакой.
...
Рейтинг: 0 / 0
05.03.2010, 22:58
    #36505861
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Когда пытаюсь вывести через xsl:for-each элементы после преобразования, выводятся старые. Вот я и не понимаю, как к новым обращаться.
...
Рейтинг: 0 / 0
05.03.2010, 23:03
    #36505864
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepyВот я и не понимаю, как к новым обращаться.Откуда обращаться?
...
Рейтинг: 0 / 0
05.03.2010, 23:53
    #36505906
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Можно небольшой пример? Просто вывести значения из people/record/name в таблицу после трансформации из моего первого поста.
...
Рейтинг: 0 / 0
06.03.2010, 01:01
    #36505947
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Вы можете внятно сказать какую задачу Вы решаете?

С уважением, Vasilisk
...
Рейтинг: 0 / 0
06.03.2010, 09:32
    #36506057
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Есть исходный xml файл, указанный в первом посте. К нему применяется трансформация, указанная там же. Получается новая структура с новыми данными (обрезаются фамилии, остаются только имена). И вот эти имена мне нужно вывести.
...
Рейтинг: 0 / 0
06.03.2010, 10:56
    #36506097
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepyЕсть исходный xml файл, указанный в первом посте. К нему применяется трансформация, указанная там же. Получается новая структура с новыми данными (обрезаются фамилии, остаются только имена). И вот эти имена мне нужно вывести.

У тебя преобразованная XML это новый файл?
...
Рейтинг: 0 / 0
06.03.2010, 12:40
    #36506179
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepyИ вот эти имена мне нужно вывести.У Вас эти имена выводятся. Что не так?
...
Рейтинг: 0 / 0
06.03.2010, 13:00
    #36506193
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Не выводятся. Выводится пустая таблица.

Да, если сохранить результат в новом файле и написать новый темплейт с выводом в таблицу, тогда работает.
...
Рейтинг: 0 / 0
06.03.2010, 14:29
    #36506233
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepy
Да, если сохранить результат в новом файле и написать новый темплейт с выводом в таблицу, тогда работает.
А ты как хотел?
...
Рейтинг: 0 / 0
06.03.2010, 15:40
    #36506264
creepy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
Я думал, что можно сделать без создания дополнительных xml файлов.

Тогда новый вопрос появился - можно ли сделать так, чтобы создаваемый после преобразования xml файл содержал ссылку на xsl файл? А то сейчас приходится руками дописывать.
...
Рейтинг: 0 / 0
11.03.2010, 11:33
    #36513481
Referee
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с преобразованным xml
creepy,

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


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