дамп дословно XML-строки в MySQL DB - PullRequest
1 голос
/ 31 августа 2010

Мне нужно вывести строку xml (входящую в веб-сервис в качестве параметра POST) непосредственно в базу данных Mysql. Столбец, в который я пишу, в настоящее время имеет тип «текст», хотя я также пробовал использовать blob.

Прямо сейчас, когда я сохраняю строку и получаю ее позже, используя sql, она возвращается в сериализованном формате, например:

a:1:{s:14:"<?xml_encoding";s:1502:"UTF-8?><record>
                <nodes></nodes>
              </record>";}

Принимая во внимание, что мне нужно проанализировать этот xml как объект simplexml, и, следовательно, он должен быть лучше сформирован.

Это то, что я делаю в коде:

  • Принять параметр Post в веб-сервисе

  • Сериализация и сохранение его в БД с использованием доктрины ORM, вроде

    $ record-> xml_rec = serialize ($ _ POST)

  • Получить и повторить.

Как ни странно, если я произвожу сериализацию, а echo будет при повторном запуске, я получу массив Массив выглядит так после print_f

Array
(
[<?xml_encoding] => UTF-8?><record>
                <nodes></nodes>
              </record>
)

Все еще не разбирается с помощью simplexml.

Это проблема с хранилищем mysql или я что-то не так с параметрами POST? Я пытался htmlspecialchars, чтобы сохранить строку в БД, но подобные проблемы остаются.

любая помощь приветствуется, спасибо

1 Ответ

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

У вас есть «сериализованный» массив php, который можно десериализовать с помощью ... PHP unserialize function.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...