XML有时候让我感到困惑,但是我正在尝试弄清楚。虽然供应商告诉我的东西让我觉得很迷惑,但 XML 和我就是不搭配 :)
我有一些 XML 需要发送到供应商的 Web 服务,但是会不定期地失败:
<root>
<Request>
<Driver id="1" VehId="1">...</Driver>
<Driver id="2" VehId="1">...</Driver>
<Driver id="3" VehId="2">...</Driver>
<Vehicle id="1">...</Vehicle>
<Vehicle id="2">...</Vehicle>
<Driver id="4" VehId="2">...</Driver>
</Request>
</root>
我没有XSLT或XSD可以比较,以查看我的XML是否有效。
供应商表示XML无效,因为第4个驱动程序在错误的区域。 驱动程序的XPath应为root / Request / Driver,而车辆为root / Request / Vehicle。
如果没有XSD可以与之比较XML,那么XML解析器是否会强制执行元素顺序?由于供应商的支持缓慢,所以我想知道好的常规做法。
跟进
我向我们的客户代表抱怨了足够多,因为我不能测试这个问题(并且让他们觉得他们只是在试图寻求支持),结果开发人员有XSD,但支持人员没有。因此,我一直在与错误的组交谈*摊手*
我得到了XSD,并且它确实强制执行元素的特定顺序。
现在要争取他们自己的示例XML遵循模式,但至少现在我有可供测试的东西。