2012-04-30 124 views
-1

我有一個像DIS如何在xslt中獲得第一人?

<xsl:if test='last-name="andrew"'> 
print first person 
</xsl:if> 

代碼那麼如何用姓氏安德魯拿到第一person

+0

不是這樣的,沒有'last-name'的xpath,因爲'last-name'不是XSLT或XPATH函數標準的一部分。什麼是你的XML - 在這裏發佈。沒有這個我們只能猜測。 – Woody

+1

提供一個簡短的XML文檔以便人們不必猜測會很有幫助。 –

+1

@Woody您的評論似乎錯了。在發佈的代碼中,last-name選擇該名稱的一個元素,所以沒有該名稱的功能這一事實是不相關的。 –

回答

0

沒有看到源硬盤是明確的,但可能

select='person[last-name="andrew"][1]' 

假設結構,如

<person><first-name>David</first-name><last-name>Carlisle</last-name></person> 
<person><first-name>David</first-name><last-name>andrew</last-name></person> 
<person><first-name>andrew</first-name><last-name>andrew</last-name></person> 
+0

大衛,OP想要選擇具有所需屬性的* first *'person'。 –

+0

是的,我認爲在您評論時我已經編輯了它:-)在第一個版本中我寫了last()而不是1,誤解了這個問題。 –

1

如何與姓氏得到的第一人安德魯

如果上下文(當前)節點是paren所述person元件噸,你想要的XPath表達式是

person[last-name = 'andrew'][1] 

此選擇上下文節點的第一個(按文檔順序)子,使得它的名字是person和其第一last-name的字符串值孩子是字符串"andrew"