Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> изменение исходного xml 
V
    Опции темы
medin_84
Дата 27.9.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



 smile есть xml следующего вида
Код

<ROOT>
    <row>
      <field name="id"></field>
      <field name="rid"></field>
      <field name="f_ref"></field>
    </row>
</ROOT>


который надо изменить в следующий вид
Код

<refs>
    <ref rid="сюда значение этого<field name="rid"></field>">сюда значение этого <field name="f_ref"></field></ref>
</refs>


не знаю как это сделать помогите smile  smile 

Это сообщение отредактировал(а) medin_84 - 27.9.2008, 10:28
PM MAIL   Вверх
jsa
Дата 29.9.2008, 04:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



Код

<xsl:template match="row">
    <xsl:element name="refs">
        <xsl:element name="ref">
              <xsl:attribute name="rid">
                   <xsl:value-of select="field[@name = 'rid']/text()" />
              </xsl:attribute
              <xsl:value-of select="field[@name = 'f_ref']text()" />
        </xsl:element>
    </xsl:element>
</xsl:template>



--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
medin_84
Дата 29.9.2008, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 3.1.2008

Репутация: нет
Всего: нет



Спасибо! работает smile 
у меня row больше поэтому сделал так
Код

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>

<xsl:template match="/">
<refs>
    <xsl:for-each select="ROOT/row">
        <xsl:element name="ref">
          <xsl:attribute name="rid">
               <xsl:value-of select="field[@name = 'rid']/text()" />
          </xsl:attribute>
          <xsl:value-of select="field[@name = 'f_ref']/text()" />
        </xsl:element>
    </xsl:for-each>
</refs>
</xsl:template>
</xsl:stylesheet>

жаль не могу репутацию изменять, а то +1

Это сообщение отредактировал(а) medin_84 - 29.9.2008, 08:26
PM MAIL   Вверх
jsa
Дата 29.9.2008, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

Репутация: 3
Всего: 20



Цитата(medin_84 @  29.9.2008,  13:17 Найти цитируемый пост)
Спасибо! работает

тогда пометь как решенную



--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
Snowcore
Дата 30.9.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



Fixed smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.