Преобразование веб-config, чтобы добавить дочерний элемент


У меня есть следующие конфигурации в 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>

в интернете.конфиг.Релиз, как я могу добавить AzureReader элемент в качестве дочернего элемента Плагины (эффективно удалив из вышеперечисленных)?

Я знаком с тем, как делать основные преобразования, но никогда не делал этого раньше.

2 87

2 ответа:

можно использовать Insert преображение:

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

Web.синтаксис преобразования конфигурации для развертывания проекта веб-приложения

Если вы хотите сделать это с помощью XSLT, то вот некоторые рекомендации, как у меня нет времени прямо сейчас, чтобы выбить это.

  1. посмотрите на преобразование идентичности. Это даст вам простой XSLT, который дублирует именно то, что читает.
  2. добавьте шаблон над общими шаблонами со следующим совпадением match="add[@name='MvcRoutingShim']"
  3. внутри шаблона выведите элемент, который вы обрабатываете с помощью xsl:copy а затем вывести AzureReader add элемент

Это должно заставить вас идти.

убедитесь, что у вас есть редактор XML, который позволяет вам делать преобразования, чтобы вы могли экспериментировать локально, пока не получите его правильно.