анализатор xml cakephp

#cakephp #cakephp-1.3

#cakephp #cakephp-1.3

Вопрос:

Я анализирую cakephp с помощью анализатора xml. Он анализирует его просто отлично. Это огромный xml. Теперь мне нужно ввести это в базу данных. Любой простой способ сделать это, не вдаваясь в слишком большие проблемы со всеми этими массивами и подмассивами

Спасибо

Ответ №1:

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

 $data = serialize($xml_array)
  

И сохраните это в текстовом поле.

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

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

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

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

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

Ваш единственный вариант — преобразовать данные в массив, который можно сохранить, а затем сохранить его.