2009-10-19 23 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

尼尔·沃尔特斯