例如,以下内容是正确的(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>
起初我认为这样做是为了让他们能够以列表/数组形式存储物品,并且使索引始终指向相同的节点。我明白为什么按照相同顺序发送具有相同名称的兄弟节点很重要,正如此问题中所解释的那样。然而,某些节点可以被省略:
<transaction>
<amount>100</amount>
<orderId>1234</orderId>
</transaction>
因此,在第三个示例中,amount和orderId现在将位于[0]和[1]而不是在第一个(正确)示例中的[1]和[2]。
另一种想法是他们将XML作为字符串处理,并要求他们始终知道哪些节点在彼此之后出现,但由于允许省略节点,因此这种理论没有意义。
有人能向我解释为什么我给出节点的顺序很重要吗?或者我只是在与一个古老而沮丧的API打交道?