【发布时间】:2011-09-16 18:01:00
【问题描述】:
我最近一直在处理一个 API,它要求 XML 文档的节点按特定顺序排列。我想知道为什么当我完全找不到事情应该这样的原因时,他们为什么觉得有必要强制执行。
例如,这是正确的(大大简化了xml)
<transaction>
<address>1 main st</address>
<amount>100</amount>
<orderId>1234</orderId>
</transaction>
但这会返回错误
<transaction>
<address>1 main st</address>
<orderId>1234</orderId>
<amount>100</amount>
</transaction>
起初我认为这样他们就可以以列表/数组的形式存储东西,并让索引始终引用同一个节点。我理解为什么按照in this question 的解释,以相同的顺序发送具有相同名称的兄弟节点很重要。但是,有些节点可以省略:
<transaction>
<amount>100</amount>
<orderId>1234</orderId>
</transaction>
因此,在第三个示例中,amount 和 orderId 现在将位于 [0] 和 [1] 而不是第一个(正确)示例中的 [1] 和 [2]。
另一种想法是他们将 XML 处理为字符串并要求他们始终知道哪些节点彼此接连出现,但同样由于允许省略节点,该理论没有意义。
谁能向我解释为什么我给节点的顺序很重要?还是我只是在处理一个陈旧且脾气暴躁的 API?
【问题讨论】:
-
我不明白这里的反对票或接近票。