我需要转换传入的XML,以便我可以将“categorie”等于“2”的所有“item”提取出来,并将它们移入单独的“records”节点,并将属性初始化为type = “2”。通过XSLT提取和移动节点
下面是传入XML的示例。
<datafeed>
<records type="one">
<purchases>
<items>
<item>
<categorie>one</categorie>
<intrant>String</intrant>
</item>
<item>
<categorie>two</categorie>
<intrant>String</intrant>
</item>
<item>
<categorie>one</categorie>
<intrant>String</intrant>
</item>
<item>
<categorie>two</categorie>
<intrant>String</intrant>
</item>
</items>
</purchases>
</records>
<exchange/>
<context/>
<pilotage/>
</datafeed>
这是我想什么:
<datafeed>
<records type="one">
<purchases>
<items>
<item>
<categorie>one</categorie>
<intrant>String</intrant>
</item>
<item>
<categorie>one</categorie>
<intrant>String</intrant>
</item>
</items>
</purchases>
</records>
<records type="two">
<purchases>
<items>
<item>
<categorie>two</categorie>
<intrant>String</intrant>
</item>
<item>
<categorie>two</categorie>
<intrant>String</intrant>
</item>
</items>
</purchases>
</records>
<exchange/>
<context/>
<pilotage/>
</datafeed>
我现在有两个“纪录”都初始化与它的预定义类型(总是一个或两个)。提取的记录被移动,因此从原始记录中删除。
感谢
好问题(+1)。查看我的答案以获得完整的解决方案并了解其中的一些重要观点。 :) – 2010-07-05 16:40:15