Horik_off
@Horik_off
Developer

Реализация xml-парсинга со вставкой в базу данных на Yii 2?

Существует сложная струкура бд (авторы, статьи, названия статей, имена авторов названия статей, журнал, в котором была опубликована статья, год, номер выпуска и серия журнала).
Все это многотабличная база данных, которую нужно пополнять данными из xml-файла. То есть, по сути, надо распарсить сгенерированный сторонним ресурсом (в моем случае сторонний ресурс - это elibrary.ru) xml-файл с данными и синсертить все в упомянутую выше базу данных на наших серверах. Подскажите, коллеги, знатоки, опытные товарищи, как лучше и грамотнее реализовать данную поделку?

То есть алгоритмически это должно быть что-то вроде следующего. Получить xml-файл (руками передать парсеру - пока только так, из-за отсутсвия какого-нибудь API в E-library) и парсер должн спарсить данные об авторах, статьях и, минуя всякие траблы типа повторений, вставить все в нашу локальную базу данных. Так же стоит упомянуть, что в редакции есть не один журнал и каждый автор со статьями может быть опубликован в любои из них, что накладывает кучу проверок на инсерт во избежание дублей.

Если уж совсем абстрагироваться от деталей, то на выходе должна получиться бд в котрой можно узнать какой автор сколько раз в каких журналах публиковался и какие статьи (название, описание, заголовки, теги, ключевые слова, удк и прочие данные). И все это хотелось бы поднять на Yii2. Буду рад любым адекватным наставлениям, ссылкам и проч проч.
  • Вопрос задан
  • 8403 просмотра
Решения вопроса 1
IvanCher
@IvanCher
Мысли шире
Загружаете хмл, как обычный файл на сервер, получаете его содержание, берете нужные данные из хмл с помощью SimpleXML, расталкиваете их куда хотите по какой хотите логике.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@egorsmkv
Для парсинга не тот язык выбрали, смотрите в сторону Python'a. Чтобы получать из неё данные используйте XPath-запросы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы