我實際上必須爲xml製作關於食譜的xsl文件。我只需要展示用特定配料製作的食譜。該XML文件是這樣的:如何檢查至少一個孩子的屬性是否包含XSLT中的特定單詞?
<recipe name="A">
<ingrediente name="B"></ingredient>
<ingrediente name="C"></ingredient>
</recipe>
我做這樣的事情:
<xsl:for-each select="recipe">
<xsl:if test="contains(ingredient/@name,'C')">
Shows the recipe
</xsl:if>
</xsl:for-each>
我有一個問題,因爲當我試試就知道了,如果ingredientes的至少一個具有特定的名稱,它只是咀嚼第一種成分。在該例子中,配方「A」具有成分「C」,但它不會被顯示,因爲它只檢查第一成分,即「B」。如果「C」是第一種成分,則顯示配方。
任何想法如何做到這一點? (並且對不起,如果我的英文不是很好)
'ingrediente'或'配料'?你的XML格式不正確。請勿重新鍵入代碼,請使用複製/粘貼以避免引入錯別字。 –
爲什麼不在開始時在選擇查詢中搜索配方/配料[@ name ='C']並取消if子句?我不能測試我的建議,因爲我不在家,所以它可能不是100%正確的。 –
如果僅考慮第一個元素,而不是報告錯誤,則表示您正在使用XPath 1.0而不是更高版本。由於這顯然是一項學術活動,您爲什麼要使用該語言的過時版本? –