Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Слияние 2 xml в 1 
:(
    Опции темы
BIG BROTHER
Дата 19.1.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



В один скрипт приходят разные XML из разных источников (из разных вызванных скриптов). Как все это объеденить в одну XML структуру, дабы все отпарсить с помощю XSLT разом, не прибегая к многоразовому парсингу многих XML
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
AntonioBanderaz
Дата 19.1.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Velichko Anton
**


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

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



А примерная структура у этих XML, она одинаковая?
Пример хочу увидеть... ))))


--------------------
ГЫ... 
PM MAIL ICQ   Вверх
BIG BROTHER
Дата 19.1.2006, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



нет, может быть любой
нужно все объеденить под одним корнем

пример...ну в общем 2(3, 4, 5....) любых xml, сгенерированных с помощю domxml...

не было бы проблемы, но я не хочу в этом случае пользоваться регами

Это сообщение отредактировал(а) BIG BROTHER - 19.1.2006, 20:53
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
maxim1000
Дата 19.1.2006, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Код

<xsl:for-each select="(document('1.xml') | document('2.xml'))/something">

что-нибудь вроде этого...
тут недалеко еще была похожая тема
в ней было несколько моментов относительно этого способа...


--------------------
qqq
PM WWW   Вверх
IZ@TOP
Дата 20.1.2006, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



maxim1000, если речь идет о РНР, то мне кажется лучше применить технологию XInclude:

http://php.rinet.ru/manual/ru/function.dom...nt-xinclude.php
Добавлено @ 10:05
Пример некоего метода класса который реализует
подключение XML Документа средствами XInclude.

Код

<?php

//...

// Необходимые константы
define('XMLI_XINCLUDE_NS',
'http://www.w3.org/2001/XInclude');
define('XMLI_XINCLUDE_PREFIX',    'xi');

class XmlI {

// ...

    /**
     * Подключение XML документов в 
текущий документ при помощи технологии XInclude, 
XPointer.
     * Пример: 
     * $XmlIObject->includeXml(
     *        $XmlIObject->rootNode, 
     *        'base-other',
     *        'http://www.example.com/base.xml
#root-node/other-node',
     *        'Произошла ошибка при подключении
 удаленного XML документа'
     * );
     *
     * @param    &$node        DomNode
     * @param    $name        string
     * @param    $uri        string
     * @param    $fallback    string
     *
     * @return    DomNode
     */
    function &includeXml(&$node, $name, $uri, 
$fallback = 'XmlI: невозможно подключить XML 
данные из удаленного источника.') {

        if(!is_object($this->rootNode->type)) {

            $this->getRoot();
            
        }
        
        $this->rootNode->set_namespace(
    XMLI_XINCLUDE_NS,
     XMLI_XINCLUDE_PREFIX);
            
        $incnode    =
 $this->XmlHandler->create_element_ns(
            XMLI_XINCLUDE_NS,
            $name,
            XMLI_XINCLUDE_PREFIX
        );
        $incnode->set_attribute('href', $uri);
        
        $fbnode        =
 $this->XmlHandler->create_element_ns(
            XMLI_XINCLUDE_NS,
            'fallback',
            XMLI_XINCLUDE_PREFIX
        );
        
        $ernode        =
 $this->XmlHandler->create_element('error');
        $ernode->append_child(
            $this->XmlHandler->create_text_node(
                $fallback
            )
        );
        
        $fbnode->append_child($ernode);
        $incnode->append_child($fbnode);
        
        $node->append_child($incnode);
        $this->XmlHandler->xinclude();
        
        return $incnode;
        
    }

// ...

}
?>



--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
BIG BROTHER
Дата 20.1.2006, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Хм...что-то замудрено как-то
Можно попобробнее как это работает?
--------------------
Mess with the best, die like the rest
PM MAIL ICQ   Вверх
IZ@TOP
Дата 23.1.2006, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

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



BIG BROTHER, считай это инклудом XML'я в XML. Работает очень просто: устанавливаешь все данные, парсер присоединяет документ в ту ноду, в которой ты подключаешь внешний XML источник.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




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


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

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