我正在尝试将我的应用与UPS API集成,但是,我收到了错误消息。我认为这是因为我为我的XML设置了错误的根。我需要遵循以下格式:
<?xml version="1.0" ?>
<AccessRequest xml:lang='en-US'>
...
</AccessRequest>
<?xml version="1.0" ?>
<ShipmentConfirmRequest>
...
</ShipmentConfirmRequest>
那么这个XML文档的根源是什么?我以为你只被允许有一个。
答案 0 :(得分:1)
正如其他人所说,这不是一个结构良好的XML文档。它是两个相互连接的XML文档。显然,UPS希望您使用能识别这一点并将其拆分的工具。
就个人而言,我会给公司的CTO留下一张纸条,告诉他们他们的程序员需要一些基本的XML教育,包括这个回应来说明原因。
同时,我看到的最好的解决方法是设置一个过滤流实现,它可以包含在这个输入中。让它将<?xml version="1.0" ?>
识别为返回文件结尾的信号,然后再次从中解析以读取其余的响应。
答案 1 :(得分:-1)
从示例中看起来它们正在提供并等待无效的XML,因为您是对的,XML文档必须只有一个根节点。
也许您可以将2个(或更多)XML连接到一个请求中,或者当您收到响应时,将其拆分为可以处理的有效XML文档。