web-dev-qa-db-ja.com

子要素を追加するWeb構成変換

Web.configに次の構成があります。

  <resizer>
    <sizelimits imageWidth="0" />
    <plugins>
      <add name="MvcRoutingShim" />
      <!--<add name="AzureReader" connectionString="DataConnectionString" /> -->
      <add name="DiskCache" />
      <add name="PrettyGifs" />
      <add name="AnimatedGifs" />
    </plugins>
  </resizer>

Web.config.Releaseで、AzureReader要素をplugins要素の子として追加するにはどうすればよいですか(上記のコメントを事実上アンコメント)?

私は基本的な変換を行う方法に精通していますが、これを行ったことはありません。

96
Ben Foster

Insert変換を使用できます:

 <resizer>
    <plugins>
      <add name="AzureReader" connectionString="DataConnectionString" 
           xdt:Transform="Insert" />
    </plugins>
  </resizer>

Webアプリケーションプロジェクトの展開のためのWeb.config変換構文

189
jrummell

XSLTを使用してそれを実行したい場合、これをやめる時間がないため、ここにいくつかのガイダンスがあります。

  1. アイデンティティ変換を検索します。これにより、読み取り内容を正確に複製する単純なXSLTが得られます。
  2. 次の一致match="add[@name='MvcRoutingShim']"を使用して、汎用テンプレートの上にテンプレートを追加します
  3. テンプレート内で、xsl:copyを使用して処理している要素を出力し、AzureReader add要素を出力します

これでうまくいくはずです。

変換を実行できるXMLエディターがあることを確認して、正しくなるまでローカルで実験できるようにします。

0
Jim Keeney