PHP, каков наилучший подход к использованию XML? Нужно создавать и анализировать XML-ответы - PullRequest
3 голосов
/ 14 января 2010

Какие библиотеки рекомендуются для XML в PHP? Преимущества? Нужно создать / отправить / разобрать XML. Требуется поддержка большого объема (миллионы звонков в день)

Ответы [ 3 ]

3 голосов
/ 14 января 2010

PHP поддерживает ряд библиотек XML .

Если проблема с памятью, например, из-за больших файлов, используйте Анализатор на основе событий поверх на основе дерева один. На основе дерева парсеры должны полностью загрузить файл в память, чтобы проанализировать XML. Анализаторы на основе событий не нужно загружать весь файл в память, чтобы начать синтаксический анализ.

См. Эту статью о что нового в XML в PHP5 и обсуждение их плюсов и минусов .

Вы также можете пересмотреть место хранения данных, поскольку файловая система может быть слишком медленной для миллионов вызовов . Как насчет Xindice ?

0 голосов
/ 14 января 2010

Если вы хотите использовать PHP intern XML Parser, то есть

XPATH DOM SimpleXml

Или, если вы хотите использовать парсер XML для PHP, я могу порекомендовать Simplepie

их много, но Simplepie - один из лучших.

Вот простой обзор того, как вы могли бы его использовать.

<?php
require_once('simplepie.inc');

$feed = new SimplePie();
$feed->set_feed_url('http://simplepie.org/blog/feed/');
$feed->init();
$feed->handle_content_type();
?>

<h1><a href="<?php echo $feed->get_permalink(); ?>">
<?php echo $feed->get_title(); ?></a></h1>
<p><?php echo $feed->get_description(); ?></p>

<?php foreach ($feed->get_items(0, 5) as $item): ?>

<h2 class="title"><a href="<?php echo $item->get_permalink(); ?>">
<?php echo $item->get_title(); ?></a></h2>
<?php echo $item->get_description(); ?>
<p>
<small>Posted on <?php echo $item->get_date('j F Y | g:i a'); ?>
</small></p>

<?php endforeach; ?>
0 голосов
/ 14 января 2010

SimpleXml , безусловно, самый простой! Для любой из отсутствующих функций в SimpleXml вы можете попробовать bXml , библиотеку, которая была написана мной.

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