【发布时间】:2011-12-21 13:35:01
【问题描述】:
我正在尝试从前一个节点获取 a 字段的值。我需要它,以便我的地图可以输出规范化的数据集(即左侧是非规范化的)。
<arrayOrdersItems>
<OrderItem>
<Order id1>
<Item 1>
</OrderItem>
<OrderItem>
<Order id1>
<Item 2>
</OrderItem>
<OrderItem>
<Order id2>
<Item 1>
</OrderItem>
<OrderItem>
<Order id3>
<Item 1>
</OrderItem>
</arrayOrderItems>
应该导致以下结果:
<array>
<Order>
<Order id1>
<Items>
<Item 1>
<Item 2>
</Items>
</Order>
<Order>
<Order id2>
<Items>
<Item 1>
</Items>
</Order>
<Order>
<Order id3>
<Items>
<Item 1>
</Items>
</Order>
</array>
我面临的问题是,如果我尝试使用 xslt,似乎我可以为特定列指定我想要的索引,但我无法知道我在哪一列。或者我有我当前的索引,但我似乎无法使用它来获取上一次迭代的值。或者我可以分两部分进行映射(第一个标题/订单,然后是详细信息/项目),但即便如此,我如何防止为每个可能的标签创建每个标签?
这个问题在 Biztalk 中通常是如何处理的 - 我认为我在 xslt 中不够强大,它似乎几乎可以做任何事情,我只是不知道正确的语法。
【问题讨论】: