繁体   English   中英

PHP和XML:每个页面请求解析大型XML文件的成本

[英]PHP and XML: The cost of parsing a large XML file every page request

在每个页面请求上使用PHP解析大型XML文件的成本是多少?

我想用HTML实现自定义标签。

<?xml version="1.0"?>
<html>
    <head>
        <title>The Title</title>
    </head>
    <body>
        <textbox name="txtUsername" />
    </body>
</html>

在PHP中加载此XML文件后,我使用XPath搜索自定义标记并操作或替换它们。

这是非常昂贵的还是可以接受的? 如何将其应用于大型网站?

在过去,我还将XSLT用于大型网站,但它似乎并没有减慢速度。 这在某种程度上类似于XSLT,但是手动。

我觉得非常昂贵,但最好的方法是自己测试并测量运行脚本所需的峰值内存使用和时间。

您可能能够缓存一些中间状态,因此不必每次都进行繁重的XML解析 - 也许您可以使用像Smarty那样的实际PHP代码替换标记,然后包含生成/缓存的PHP文件。

缓存的文件看起来像Soulmerge的答案中的代码。

这是非常昂贵的还是可以接受的?

不要猜。 测量

解析xml应该很快,只要你使用像DOMXPath这样的内置函数并且你的xml文件不是太大。

但是,我宁愿替换函数调用自定义标签,包括在PHP文件,这应该是快了很多 ,因为你没有做任何PHP字符串操作,则:

<?xml version="1.0"?>
<html>
    <head>
        <title>The Title</title>
    </head>
    <body>
        <?php textbox('txtUsername') ?>
    </body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM