我有以下內容的XML文件中獲取在XML特定值的文本? 我嘗試的所有東西都給了我text1。如何使用XSLT
例如:
<xsl:if test="option/test/@attr='a'">
<xsl:value-of select="option/test"/>
</xsl:if>
我有以下內容的XML文件中獲取在XML特定值的文本? 我嘗試的所有東西都給了我text1。如何使用XSLT
例如:
<xsl:if test="option/test/@attr='a'">
<xsl:value-of select="option/test"/>
</xsl:if>
此XPath應該讓你的文本2值:
option/test[@attr='b']
它有效地寫着「選擇具有生成的attr屬性與‘B’的值的測試元件」。
所以,你可以使用這樣的:
<xsl:value-of select="option/test[@attr='b']"/>
,而不需要爲xsl:if
。
您需要使用謂詞來指定「test
」的attr
的值爲'a'「。
option/test[@attr='a']
您還需要了解相對和絕對的XPath之間的差別,並知道什麼情況下你是從調用路徑 - 您使用相對路徑如果當前節點是它只會工作option
的父母。
您的XPath將根據OP的要求選擇帶有「text1」的元素,而不是帶有「text2」的元素。 –
OP的問題提到了'a'和text2。相反,浪費時間的協調,我翻了一枚硬幣,相信如果我錯了,相關的變化是顯而易見的。 – keshlam
這將在文檔中的任何位置找到''元素,而不僅僅是那些是'
@keshlam雖然這是非常真實的,並且考慮到OP指出這是他們的XML的內容,但我認爲在這種情況下它是允許的。這是謂詞,我試圖通過這一點,因此解釋。 –
由於OP不知道如何使用謂詞,我認爲假設他們不知道使用雙斜槓的問題是安全的。在那種情況下,我要麼明確說明正在做什麼,要麼使用更高效的XPath。我們不希望他們學習壞習慣。 –