我需要轉換傳入的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