За последние 24 часа нас посетили 20713 программистов и 1008 роботов. Сейчас ищут 332 программиста ...

Скрипт импорта файлов XML по средствам PHP в PostgreSQL

Тема в разделе "PHP и базы данных", создана пользователем dma026, 25 ноя 2016.

  1. dma026

    dma026 Новичок

    С нами с:
    25 ноя 2016
    Сообщения:
    2
    Симпатии:
    0
    Добрый день.

    Кто может подвести к правильному скрипту (примеру) как импортировать большой массив данных из xml (более 53 типов и количество файлов более 12 000 000 штук, при обновление ежедневном порядка 30к файлов).

    Цель: импортировать файлы из xml в таблицы PostgreSQL.
    В наличие: схемы XSD, файлы XML.

    Вопрос: нужен пример импорта.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    в каком смысле? готовый код?
     
  3. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
    В первую очередь рекомендую вам забыть про схему. Не знаю насколько для вас это актуально, но если формат уже известен, то незачем использовать процессор вхолостую.

    Во вторую очередь советую разбирать XML-файлы построчно (без составления DOM) https://ru.wikipedia.org/wiki/SAX (Если не изменяет память то https://php.ru/manual/book.xml.html как раз то что нужно, пример использования: https://php.ru/manual/example.xml-structure.html)

    В третью очередь: грузите в PostgreSQL пачками (batch).

    Тогда будет быстрый, нетребовательный к памяти скрипт
     
  4. dma026

    dma026 Новичок

    С нами с:
    25 ноя 2016
    Сообщения:
    2
    Симпатии:
    0
    Спасибо Вам огромное.
     
  5. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    ребят а можно какойнить пример работы со схемой -
    у меня есть задача и читать и писать xml с использованием схемы

    например мне надо вызвать user_name и по схеме он будет четко указан
    а хмлки будут разные поля (в одном <tr1:user_name> вдругом еше какнить , но валидные.

    или я немного не понимаю принципа - и при чтении схема используется только для валидации а не для чтения ?
    тогда как при написании использовать схему чтобы работало в нетбинсе подстановка возможных значений

    чтото типа

    $test= new xml ("schema");
    $test->root->fio->user_name = "ffff";

    но как я понимаю для такого схему надо конвертировать в class - и штатных средств для этого нету ..
    или есть какой другой способ ?