У меня есть некоторые значения в моем 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>
После этого я застрял - ничего не получается.
Ok.I сделал некоторые изменения. Я пробовал использовать отдельный 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>
Пожалуйста, помогите мне в том, как я могу работать с файлом Web.config со значениями в разделе <appsettings>
.
Функция document()
должна иметь действующую схему URI. Двойные сокращения //
используются в XPath, но не являются допустимыми разделителями путей в URI. Если ваш файл web.config
находится в каталоге Website
который является родным языком каталога, в котором находится ваш XSLT, синтаксис должен быть:
<xsl:variable name="config" select="document('../Website/web.config')"/>
Предполагая, что остальная часть таблицы стилей верна, выражение XPath в value-of
должно работать, если структура XML внутри вашего web.config
соответствует ему.