Какой вариант лучше, SimpleXml или XML Parser в PHP? - PullRequest
2 голосов
/ 01 сентября 2010

Я прошел через сообщение о переполнении стека " Лучший анализатор XML для PHP ".

По тому же вопросу.Упоминается, что если мне нужно манипулировать XML-файлами, тогда перейдите к DOM XML.Мои требования:

  1. Я сохранил навигацию в базе данных.Это строка HTML.
  2. Я хочу удалить некоторые страницы или сказать li теги, обертывающие страницы, которые пользователь не хочет видеть на своей странице.После удаления ненужных li я хочу сохранить всю строку обратно в базу данных.
  3. Та же самая навигация будет использоваться на другой странице.Но HTML будет другим.Это будет аналогично с ul и li, но мне нужно добавить еще несколько элементов div и span к нему.
  4. Навигация будет редактироваться на этой странице и при каждом изменении (например, изменение заголовка страницы, удаление узла / страницы, перемещение под другой страницей как дочерней.) Ajax-вызов сохранит изменения в другой таблице в базе данных.

  5. Снова используя новую структурупостроить навигацию, которая будет обновлена ​​в первой таблице навигации.

Какой вариант будет лучшим?

Ответы [ 4 ]

1 голос
/ 24 сентября 2010

Для вашего случая использования XMLParser не имеет особого смысла, так как вы хотите сохранить весь файл после его изменения.SimpleXML позволяет вам сделать это намного проще (метод saveXML ()) - с XMLReader вам придется генерировать XML самостоятельно во время синтаксического анализа.

0 голосов
/ 01 сентября 2010

Мои личные предпочтения XML Parser , но я думаю, что выбранная вами библиотека, вероятно, не сильно повлияет на решение. Использование любой библиотеки XML-манипуляций, вероятно, в основном одинаково.

0 голосов
/ 08 сентября 2010

Для больших файлов вы можете использовать XML Parser , потому что Simple XML загрузит весь XML в память для его анализа, тогда как XML parser основан на потоке,

0 голосов
/ 01 сентября 2010

Я бы порекомендовал SimpleXML .

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