我正在尝试使用此xml进行映射:
<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文档可以包含多个文档,但它总是有一个文档,所以我必须将这些项目合并到其中并将税收纳入其各自的项目中。
谢谢
答案 0 :(得分:1)
我认为你必须编写一大块自定义XSLT。循环遍历items / item,然后构建一个xpath到tax / tax [where iditem = $ itemId]。诀窍是将第一个itemId放入变量中。
抱歉,我现在时间有限,无法为您创建完整的工作演示。 这是我前一段时间的相关问题: http://www.stylusstudio.com/ssdn/default.asp?action=9&fid=48&read=7896
Neal Walters