我有一個XML文件:如何在XSL中爲每個節點選擇具有相同名稱的節點?
<PRODUCTS>
<PRODUCT>
<NAME_EN>jacket</NAME_EN>
<SKU>1</SKU>
<SIZE>
<CODE>01 </CODE>
<DESCRIPTION>34</DESCRIPTION>
</SIZE>
<COLOR>
<DESCRIPTION_EN>black</DESCRIPTION_EN>
</COLOR>
</PRODUCT>
<PRODUCT>
<NAME_EN>jacket</NAME_EN>
<SKU>2</SKU>
<SIZE>
<CODE>02</CODE>
<DESCRIPTION>35</DESCRIPTION>
</SIZE>
<COLOR>
<DESCRIPTION_EN>black</DESCRIPTION_EN>
</COLOR>
</PRODUCT>
<PRODUCT>
<NAME_EN>shoes</NAME_EN>
<SKU>3</SKU>
<SIZE>
<CODE>01</CODE>
<DESCRIPTION>34</DESCRIPTION>
</SIZE>
<COLOR>
<DESCRIPTION_EN>black</DESCRIPTION_EN>
</COLOR>
</PRODUCT>
</PRODUCTS>
我想使用XSL轉換來實現這樣的結果:
<catalog>
<product>
<variants>
<variant>
<sku>1</sku>
<options>
<option>
<code>size</code>
<value>34</value>
</option>
</options>
</variant>
<variant>
<sku>2</sku>
<options>
<option>
<code>size</code>
<value>35</value>
</option>
</options>
</variant>
</variants>
</product>
<product>
<variants>
<variant>
<sku>3</sku>
<options>
<option>
<code>size</code>
<value>34</value>
</option>
</options>
</variant>
</variants>
</product>
</catalog>
我需要的是爲-每過的所有節點,其中NAME_EN
和COLOR/DESCRIPTION_EN
其中name一樣。
我知道這樣的for-each:
<xsl:for-each select="PRODUCTS/PRODUCT[NAME_EN='jacket']">
但它不會叉我。 有什麼辦法可以做到這一點?
我不明白你的 '其中' 條款。你想要NAME_EN == COLOR/DESCRIPTION_EN的節點嗎? – Efrain 2013-04-11 10:04:10
不,一個節點集NAME_EN ==夾克和COLOR/DESCRIPTION_EN ==藍色,下一個NAME_EN ==夾克和COLOR/DESCRIPTION_EN ==白色,下一個是NAME_EN == shoes和COLOR/DESCRIPTION_EN == green – 2013-04-11 10:06:32
嗯。查看,我認爲這對你有用。 –
Efrain
2013-04-11 10:16:05