我有一个xml文件,但结构处理不正确。关于为什么这种情况不断发生,我一无所知。在PHP 5.1.6版中处理xml时我应该注意什么? (我非常了解VPN的安全问题,也没有外部访问权限。我现在不想升级。)
这是xml结构:
<XML>
<actions>
<action>
<action_id>1</action_id>
</action>
<action>
<action_id>2</action_id>
</action>
</actions>
<actionreferences>
<actionreference>
<action_id>2</action_id>
<reference>1</reference>
</actionreference>
</actionreferences>
</XML>
此架构可以有更多操作,因此可以有更多引用,新操作可以基于但不能基于其他操作。我们没有DTD,但是我们的php代码逻辑依赖于结构并且有一些安全防护。对我来说最重要的是,它为每个动作和它找到的参考提供了细粒度的编码记录。
接收到XML文件后,php脚本会将操作和引用写入MySQL DB服务器。
所以问题是,有时缺少动作引用。从PHP的日志记录看起来它们从未到达服务器。我无法在我的实验室设置中复制这个,但确保它在我们的实时系统上发生了0.4%的交易,大约10次。
我还缺少什么,是什么导致这些引用偶尔不被处理?
更新详情
xml文件是基于带有.net 2.0客户端的Windows上的mdb访问数据库生成的。我们排除了生成xml的问题:
答案 0 :(得分:0)
首先,您的XML中存在错误:
<reference>1</references>
应该是
<reference>1</reference>
(注意“s”)