2010-06-24 104 views
0

在下面的XML中,我只想得到2號和5號項目, 如何在XSLT上完成?XSLT顯示項目

<root> 
    <content>item 1</content> 
    <content>item 2</content> 
    <content>item 3</content> 
    <content>item 4</content> 
    <content>item 5</content> 
    <content>item 6</content> 
</root> 
+1

XML並沒有關於它的定義的順序(除文檔順序),所以解析器可以隨意對節點進行重新排序。爲什麼你需要按位置選擇節點? – Oded 2010-06-24 20:22:17

+0

我們有客戶端系統爲我們生成有序XML文件的原因 – cc96ai 2010-06-24 20:50:12

+0

@Oded:在XML規範(http://www.w3.org/TR/2008/REC-xml-20081126/)中沒有訂單定義除了內容驗證。即使不包含「文件順序」一詞。在XPATH規範中有訂單定義。特別是,導航軸與文檔順序有關,'position()'跟在範圍內的軸。但不能保證一個表達式能夠以任何順序返回此節點集。 XSLT確保了一些指令:節點集表達式將以文檔順序使用。 – 2010-06-24 22:15:43

回答

1

試試這個:

<xsl:value-of select="/root/content[2]" /> 
<xsl:value-of select="/root/content[5]" /> 

注:

俄德是正確的,但我認爲這是最好的,你可以得到

+0

幾乎正確。在XSLT中,數組索引以1開頭。 – Oded 2010-06-24 20:25:30

+0

Doh!感謝您的提醒。 – 2010-06-24 20:30:11