2014-05-23 158 views
1

我在我的web.config中有一些值,我想在我的XSLT文件中訪問。我怎麼做?從web.config獲取價值到XSLT文件

我已經這樣做了加載配置文件在我的XSLT:

<xsl:variable name="config" select="document('..//Website//web.config')"/> 

<p><xsl:value-of select="$config//appSettings/add[@key='Test']/@value"/> 
</p> 

這個我被困之後 - 沒有東西呈現。

好的。我已經做了一些改變。我嘗試過使用單獨的XML文件,並且我能夠從我的變量中的文件中獲取值。

<xsl:apply-templates select="document('TestXML.xml')/test/Tag1"> 

    </xsl:apply-templates> 

    <xsl:template match="Tag1"> 
     <xsl:choose> 
     <xsl:when test="@sName='myTest'"> 
     <span> 
      <xsl:value-of select="@TestId" /> 
     </span> 
     </xsl:when> 
    </xsl:choose>  
    </xsl:template> 

我仍然感到困惑的是,雖然讀的web.config文件(這是一個XML文件),我得到一個空的變量,而是一個純粹的.xml文件,我能在這個變量的值。

我的test.xml是這個

<?xml version="1.0"?> 
<test> 
    <Tag1 sName="myTest" TestId="328,329"> 
    </Tag1> 

</test> 

請幫我,我怎麼能與下<appsettings>部分與值的Web.config文件的工作。

+1

請向我們展示您迄今爲止解決此問題所做的工作。 –

+0

@GauravDeochakke請參閱我在xslt文件中的實現。我想要web.config的的值。 – user3668393

+0

這可能有助於:http://stackoverflow.com/questions/12787862/pass-parameter-to-xslt-stylesheet – AlG

回答

0

document()函數應該接收有效的URI方案。在XPath中使用雙斜槓//,但在URI中不是有效的路徑分隔符。如果您web.config文件是在Website目錄這是你的XSLT所在目錄的兄弟,語法應爲:

<xsl:variable name="config" select="document('../Website/web.config')"/> 

假設你的樣式表的其餘部分是正確的,在value-of XPath表達式應該如果您的web.config中的XML結構與其匹配,則工作。

+0

:我改正了你說的,但我仍然沒有得到我的變量的價值,因爲我的web.config是正確的。 – user3668393