2016-09-22 69 views
1

嗨, 這是我正在處理的XML,我需要訪問特定的數據,請幫助Desired輸出是:參考hello world如何在XSL中使用「current()[name()='merge:change']」語句的類型

<catalog 
    xmlns:merge="http://www.merge.org/change" > 
    <cd> 
     <title> 
      <a>Empire Burlesque</a> 
      <b>Manik</b> 
     </title> 
     <artist>  
      <a>Bob Dylan</a> 
      <b>Aayush</b> 
     </artist> 
     <country>  
      <note> 
       <para>A small quantity of hydraulic fluid on the inner cylinder is satisfactory 
        <merge:change>Hello_World 
        </merge:change> 
       </para> 
      </note> 
     </country> 
     <company>Columbia</company> 
     <price>10.90</price> 
     <year>1985</year> 
    </cd> 
    <cd> 
     <title>Hide your heart</title> 
     <artist>Bonnie Tyler</artist> 
     <country>UK</country> 
     <company>CBS Records</company> 
     <price>9.90</price> 
     <year>1988</year> 
    </cd> 
</catalog> 

現在我要訪問寫在合併中的內容:使用功能,如電流()改變標籤[名稱()=「合併:改變」]」

我寫了這個XSL:但我沒有得到任何輸出

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:merge="http://www.merge.org/change"> 

    <xsl:template match="catalog"> 
     <xsl:for-each select="cd/country"> 
      <xsl:value-of select="current()/note/para [name()='merge:change']"/> 
      <br/> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 

有人可以幫忙嗎?

所需的輸出是:

Hello_World 
+2

'的'應該完成這項工作。 – potame

+0

嗨potame,Thanx爲您的答覆。你能告訴我如何使用「current()/ note/para [name()='merge:change']」這種類型的函數。其實我需要使用函數來訪問merge的內容:change。 – Hercules

+0

這不是一個函數,但很可能是一個謂詞 –

回答

0

變化

<xsl:value-of select="current()/note/para [name()='merge:change']"/> 

<xsl:value-of select="current()/note/para/*[name()='merge:change']"/> 

表達para/*[name()='merge:change']裝置命名段的子merge:change

+0

'current()'部分是多餘的。 –

+0

是的。我保留了這部分,因爲它包含在他的問題中。 –