验证10K XSD - 性能问题

时间:2010-03-18 09:11:43

标签: php xml xsd

我有一个XK方案,有10K行。用500行验证我的XML需要5秒钟。我通过POST从外部服务器动态获取XML,每次点击我主页上的用户。验证需要5秒以上,这对用户的每次点击都非常重要。 PHP示例:

$doc = new DOMDocument();
$doc->load('file.xml'); //100 to 500 lines
$doc->schemaValidate('schema.xsd'); //schema.xsd 10 000 lines

您是否知道如何更快地针对XSD验证XML?

3 个答案:

答案 0 :(得分:1)

要检查的一些事项:

  1. 架构是本地文件,还是通过网络获取(例如通过http:或文件:到已安装的卷)?

  2. 您可以缓存架构吗?许多模式验证引擎允许您加载模式并对其进行缓存,然后针对内部表示执行多次验证。

  3. 您的架构是什么样的? 10K架构的5秒似乎很慢。

  4. 您使用的是什么XML架构验证器?

答案 1 :(得分:0)

您可以创建XSD的子集,其中仅包含您网站所需的部分。仅在最终提交后才对完整模式进行验证。

答案 2 :(得分:0)

使用不同的XML库和/或在后台进行远程操作,让网络读取最新的缓存。