CakePHP анализатор XML - PullRequest
       1

CakePHP анализатор XML

0 голосов
/ 28 апреля 2011

Я анализирую CakePHP с использованием парсера XML.Разбирает это просто отлично.Это огромный XML.Теперь мне нужно внести это в базу данных.Любой простой способ сделать это без особых проблем со всеми этими массивами и вложенными массивами

Спасибо

1 Ответ

1 голос
/ 30 апреля 2011

Все зависит от того, как выглядит массив и как вы хотите хранить данные.Если вам просто нужно захватить массив, вы можете использовать serialize:

$data = serialize($xml_array)

и сохранить его в текстовом поле.

Если вам нужно сохранить каждый элемент в массиве, вы можетесделать это достаточно просто, если в массиве нет подмассивов.Если это, например, массив, например:

array(
  [MyArray] => (
     [Field1] => 'data',
     [field2] => 'data',
  )
)

, а Field1 и field2 соответствуют столбцам таблицы, просто измените [MyArray] на имя модели и передайте массив в функцию model->save()и он сохранит данные.

Однако, если у вас есть информация о подмассиве:

array(
  [MyArray] => (
     [Field1] => array([sub_array] => 'more_data'),
     [field2] => 'data',
  )
)

Ваш единственный вариант - проанализировать данные в массив, который можно сохранить, а затем сохранитьэто.

...