【问题标题】:PHP what is the best approach to using XML? Need to create and parse XML responsesPHP 使用 XML 的最佳方法是什么?需要创建和解析 XML 响应
【发布时间】:2011-01-04 20:16:12
【问题描述】:

在 PHP 中推荐的 XML 库有哪些?优点?希望创建/发送/解析 XML。需要支持大容量(每天数百万次调用)

【问题讨论】:

    标签: php xml


    【解决方案1】:

    PHP 支持多个XML libraries。

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

    查看这篇关于what's new with XML in PHP5和a discussion of their pros and cons的文章。

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

    【讨论】:

    • 内存不是问题,但性能才是我要找的。​​span>
    • 数据被解析然后直接存储在Oracle DB中。它更多的是请求/发布 xml 功能
    • 听起来像拉解析。请参阅 ibm.com/developerworks/library/x-pullparsingphp.html 在这种情况下 XmlReader 应该非常快。
    【解决方案2】:

    SimpleXml 是迄今为止最简单的!对于 SimpleXml 中缺少的任何功能,您可以尝试bXml,这是我编写的一个变形库。

    【讨论】:

    • 需要支持大容量(每天数百万次调用)
    • 数据被解析然后直接存储在Oracle DB中。它更多的是请求/发布 xml 功能,而不是解析文件,是否仍建议使用?
    【解决方案3】:

    如果你想使用 PHP 实习生 XML Parser 有

    XPATH DOM SimpleXml

    或者如果你想为 PHP 使用 XML 解析器,我可以推荐 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; ?>
    

    【讨论】:

    • 我没有使用 DOM,更多的是 xml 请求/发布功能
    猜你喜欢
    • 1970-01-01
    • 2011-11-30
    • 1970-01-01
    • 2010-10-28
    • 2018-01-17
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 2010-10-15
    相关资源
    最近更新 更多