我有一个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?
答案 0 :(得分:1)
要检查的一些事项:
架构是本地文件,还是通过网络获取(例如通过http:或文件:到已安装的卷)?
您可以缓存架构吗?许多模式验证引擎允许您加载模式并对其进行缓存,然后针对内部表示执行多次验证。
您的架构是什么样的? 10K架构的5秒似乎很慢。
您使用的是什么XML架构验证器?
答案 1 :(得分:0)
您可以创建XSD的子集,其中仅包含您网站所需的部分。仅在最终提交后才对完整模式进行验证。
答案 2 :(得分:0)
使用不同的XML库和/或在后台进行远程操作,让网络读取最新的缓存。