【问题标题】:Get value from web.config into XSLT file从 web.config 获取值到 XSLT 文件中
【发布时间】:2014-05-26 18:06:49
【问题描述】:

我的 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>

请帮助我了解如何使用 &lt;appsettings&gt; 部分下的值的 Web.config 文件。

【问题讨论】:

  • 请向我们展示您迄今为止为解决此问题所做的工作。
  • @GauravDeochakke 请查看我在 xslt 文件中的实现。我想要来自 web.config 的 的值。
  • 这可能会有所帮助:stackoverflow.com/questions/12787862/…
  • @AlG 问题是为什么我没有进入那个配置变量?
  • document() 中的 URI 格式错误。

标签: c# xslt xslt-1.0 xslt-2.0 web.config-transform


【解决方案1】:

document() 函数应接收有效的 URI 方案。双斜杠 // 在 XPath 中使用,但不是 URI 中的有效路径分隔符。如果您的 web.config 文件位于与 XSLT 所在目录同级的 Website 目录中,则语法应为:

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

假设您的样式表的其余部分是正确的,如果您的 web.config 中的 XML 结构与它匹配,那么 value-of 中的 XPath 表达式应该可以工作。

【讨论】:

  • :我按照你说的更正了,但考虑到我的 web.config 是正确的,我仍然没有得到变量中的值。
猜你喜欢
  • 1970-01-01
  • 2011-01-17
  • 2012-10-13
  • 2010-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多