Загрузить XML-канал в MySQL, используя PHP - PullRequest
0 голосов
/ 11 августа 2010

У меня есть фид XML:

<?xml version="1.0" encoding="UTF-8"?><product>
<name>John</name>
<contact_email>john@johnson.com</contact_email>
<contact_telephone>01234 567</contact_telephone>
<url>www.johnsone.com.com</url></product>

Мне нужно загрузить его в MySQL с помощью php - видел несколько примеров, но все они берут файл, сохраненный локально.

Мой канал взят из Интернета, поэтому постоянно меняется.У кого-нибудь есть предложения, с чего начать?

Спасибо

Ответы [ 4 ]

1 голос
/ 11 августа 2010

Сначала вам нужно определить модель данных. Затем вам понадобится анализатор xml для анализа канала, извлечения данных и заполнения вашей модели данных. Затем вам нужно будет передать объект вашей модели в DAO, который записывает данные в вашу базу данных.

0 голосов
/ 11 августа 2010

Чтобы быть более конкретным: вам, очевидно, потребуется настроить таблицу и структуру базы данных.Я собираюсь предположить, что у вас есть или, по крайней мере, вы можете понять, как это настроить и как записать в базу данных.Если нет, есть много уроков по этому вопросу, которые должны быть очень полезными.Вам нужно будет использовать встроенную в PHP библиотеку MySQL .

. Для анализа XML вы, вероятно, захотите использовать SimpleXML .Непонятно, как поступает ваш фид, но SimpleXML имеет функцию simplexml_load_string , которая позволит вам передать ей строку, содержащую документ XML, как бы вы ее ни получали, для анализа.там вы можете просто взять разобранный XML и записать его в свою базу данных.Любые примеры, в которых используется SimpleXML с локальным файлом, довольно легко адаптировать, используя simplexml_load_string вместо simplexml_load_file и делая все, что вы уже (предположительно) делаете для получения данных из этого канала.

0 голосов
/ 11 августа 2010

если вы хотите проанализировать данные и сохранить их, то

  • создайте таблицу для продукта
  • , проанализируйте xml и получите поля
  • , вставьте их в базу данныхобновить существующие данные

Итак, в чем ваша проблема?

0 голосов
/ 11 августа 2010

Если это взято из интернета, вы можете просто сделать

<?php
$feedData = file_get_contents('http://mywebsite/myfeed.xml');
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...