2011-12-21 55 views
0

我想从前一个节点获取一个字段的值。我需要它,以便我的地图可以输出标准化的数据集(即左侧是非规格化的)。如何获得先前迭代的字段值?

<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,它似乎可以做几乎任何事情,我只是不知道正确的语法。

回答

相关问题