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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование дерева 
V
    Опции темы
Ruslan_
Дата 15.5.2006, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть xml-файл 1.xml
Код

<node1>
  <node11>
    <node111>
    </node111>
    <node112>
    </node112>
  </node11>
  <node12>
  </node12>
  <node13>
    <node131>
    </node131>
    <node132>
    </node132>
  </node13>
</node1>

+ файл 2.xml
Код

<nodeA>
  <nodeAA>
     ...
  </nodeAA>
  <nodeAB>
     ...
  </nodeAB>
</nodeA>


Подскажите, пожалуйста, как сделать из этих файлов с помощью xslt следующий:
Код

<node1>
  <node11>
    <node111>
    </node111>
    <node112>
    </node112>
  </node11>
  <node12>
<nodeA>
  <nodeAA>
     ...
  </nodeAA>
  <nodeAB>
     ...
  </nodeAB>
</nodeA>
  </node12>
  <node13>
    <node131>
    </node131>
    <node132>
    </node132>
  </node13>
</node1>
 
PM   Вверх
Illuminaty
Дата 15.5.2006, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


/*Антон Захаров*/
***


Профиль
Группа: Комодератор
Сообщений: 1238
Регистрация: 19.3.2005
Где: Россия, Казань

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



Попробуй эту тему почитать. Там похожий вопрос обсуждался.

Удачи! 
PM MAIL ICQ   Вверх
Ruslan_
Дата 16.5.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо за ссылку, но я не это имел в виду.
Пусть файл 1.xml следующего вида
Код

<node1>    
  <node11>    
    <node111>    
    </node111>    
    <node112>    
    </node112>    
  </node11>    
  <node12>    
  </node12>    
  <node13>    
    <node12>    
    </node12>    
  </node13>    
</node1>

Нужно в /node1/node12 вставить структуру файла 2.xml, описанную выше. Как это сделать, чтоб не вписалась инфа в /node1/node13/node12?
 
PM   Вверх
Beard
Дата 17.5.2006, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Что-нибудь в таком духе пойдет:
Код

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:variable name="select" select="/node1/node12" />

   <xsl:template match="/">
      <xsl:apply-templates />
   </xsl:template>

   <xsl:template match="* | @*">
      <xsl:copy>
         <xsl:if test=".=$select">
            <xsl:apply-templates select="@*" />

            <xsl:copy-of select="document('2.xml')" />
         </xsl:if>

         <xsl:apply-templates select="node() | @*" />
      </xsl:copy>
   </xsl:template>
</xsl:stylesheet>

?  

Это сообщение отредактировал(а) Beard - 17.5.2006, 13:09
PM MAIL   Вверх
Ruslan_
Дата 24.5.2006, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



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

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

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

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

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


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

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


 




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


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

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