2011-12-21 28 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,它似乎可以做幾乎任何事情,我只是不知道正確的語法。

回答