1 1
Рустамка

Вопрос по xml

Рекомендуемые сообщения

Всем привет форумчане, специально зашёл в эту ветку дабы узнать у вас ответ на банальный вопрос - "Как объединить несколько одинаковых по структуре файлов xml в один общий с сохранением данных ? "

может кто подскажет ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, md5 сказал:

можно руками, можно пыхой - https://stackoverflow.com/questions/10163675/merge-xml-files-in-php

я в программировании не силён, вы про этот код ?

$doc1 = new DOMDocument();
    $doc1->load('1.xml');

    $doc2 = new DOMDocument();
    $doc2->load('2.xml');

    // get 'res' element of document 1
    $res1 = $doc1->getElementsByTagName('res')->item(0);

    // iterate over 'item' elements of document 2
    $items2 = $doc2->getElementsByTagName('item');
    for ($i = 0; $i < $items2->length; $i ++) {
        $item2 = $items2->item($i);

        // import/copy item from document 2 to document 1
        $item1 = $doc1->importNode($item2, true);

        // append imported item to document 1 'res' element
        $res1->appendChild($item1);

    }

P.S. а если файлов 10 и более ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Рустамка сказал:

я в программировании не силён, вы про этот код ?


$doc1 = new DOMDocument();
    $doc1->load('1.xml');

    $doc2 = new DOMDocument();
    $doc2->load('2.xml');

    // get 'res' element of document 1
    $res1 = $doc1->getElementsByTagName('res')->item(0);

    // iterate over 'item' elements of document 2
    $items2 = $doc2->getElementsByTagName('item');
    for ($i = 0; $i < $items2->length; $i ++) {
        $item2 = $items2->item($i);

        // import/copy item from document 2 to document 1
        $item1 = $doc1->importNode($item2, true);

        // append imported item to document 1 'res' element
        $res1->appendChild($item1);

    }

P.S. а в VBA будет работать ?

да, про этот, в VBA не будет, если в программировании не сильны то обратитесь на фриланс ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, md5 сказал:

да, про этот, в VBA не будет, если в программировании не сильны то обратитесь на фриланс ;)

Задача тривиальная, я думал есть готовые решения, утилита там  :help:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
1 1