PHP使用XML的最佳方法是什么?需要创建和解析XML响应

时间:2010-01-13 21:17:19

标签: php xml

PHP推荐的XML库有哪些?好处?期待创建/发送/解析XML。需要支持高容量(每天数百万次通话)

3 个答案:

答案 0 :(得分:3)

PHP支持许多XML libraries

如果内存存在问题,例如由于文件较大,请使用Event-based parser而不是tree-based个。Tree-based解析器必须将文件完全加载到内存中才能解析XML。 Event-based parsers不需要将整个文件加载到内存中以开始解析。

请参阅有关what's new with XML in PHP5a discussion of their pros and cons的文章。

您可能还会重新考虑存储数据的位置,因为文件系统对于数百万次调用来说可能太慢了。 Xindice怎么样?

答案 1 :(得分:0)

到目前为止,{p> SimpleXml是最简单的!对于SimpleXml中缺少的任何功能,您可以尝试bXml,我写的一个warper库。

答案 2 :(得分:0)

如果您想使用PHP实习生XML Parser,那么

XPATH DOM SimpleXml

或者如果您想使用PHP Parser for 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; ?>