2009-10-19 24 views
1

我試圖與該XML映射:映射與BizTalk +多個節點單一一個

<rootxml> 
    <documents> 
    <document> 
     <iddoc>1</iddoc> 
     <total_price>1000</total_price> 
    </document> 
    </documents> 
    <items> 
    <item> 
     <iddoc>1</iddoc> 
     <iditem>1</iditem> 
     <quantity>1</quantity> 
     <price>800</price> 
    </item> 
    <item> 
     <iddoc>1</iddoc> 
     <iditem>2</iditem> 
     <quantity>1</quantity> 
     <price>200</price> 
    </item> 
    </items> 
    <taxes> 
    <tax> 
     <iddoc>1</iddoc> 
     <iditem>1</iditem> 
     <idtax>1000</idtax> 
     <value>123.90</value> 
    <tax> 
    <tax> 
     <iddoc>1</iddoc> 
     <iditem>2</iditem> 
     <idtax>1000</idtax> 
     <value>34.13</value> 
    <tax> 
    </taxes> 
</rootxml> 

這一個:

<resultxml> 
    <documento> 
    <iddoc>1</iddoc> 
    <total_price>1000</total_price> 
    <items> 
     <item> 
     <iddoc>1</iddoc> 
     <iditem>1</iditem> 
     <quantity>1</quantity> 
     <price>800</price> 
     <taxes> 
      <idtax>1000</idtax> 
      <value>123.90</value> 
     </taxes> 
     </item> 
     <item> 
     <iddoc>1</iddoc> 
     <iditem>2</iditem> 
     <quantity>1</quantity> 
     <price>200</price> 
     <taxes> 
      <tax> 
      <idtax>1000</idtax> 
      <value>34.13</value> 
      <tax> 
     </taxes> 
     </item> 
    </items> 
    </documento> 
</resultxml> 

我無法找出如何解決這個問題。雖然原始的xml文檔可以有多個文檔,但它總是有一個文檔,所以我必須將這些項目合併到其中,並納入其各自的項目中。

謝謝

回答

1

我想你必須寫一大塊custom-XSLT。通過項目/項目循環,然後建立一個Xpath稅/稅[其中iditem = $ itemId]。訣竅是將第一個itemId放入變量中。

對不起,我現在有限的時間,無法爲您創建一個完整的工作演示。 這裏的相關問題,我有一段時間回來: http://www.stylusstudio.com/ssdn/default.asp?action=9&fid=48&read=7896

尼爾·沃爾特斯