Преобразование Web 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>
В web.config.Release, как я могу добавить элемент AzureReader в качестве дочернего элемента элемента плагинов (эффективно раскомментируя выше)?
Я знаком с тем, как делать базовые преобразования, но никогда не делал этого раньше.
Ответы
Ответ 1
Вы можете использовать преобразование Insert
:
<resizer>
<plugins>
<add name="AzureReader" connectionString="DataConnectionString"
xdt:Transform="Insert" />
</plugins>
</resizer>
Синтаксис преобразования Web.config для развертывания проекта веб-приложений
Ответ 2
Если вы хотите сделать это с помощью XSLT, вот несколько советов, поскольку у меня нет времени прямо сейчас, чтобы выбить это.
- Посмотрите на преобразование идентичности. Это даст вам простой XSLT, который дублирует именно то, что читается.
- Добавьте шаблон выше общих шаблонов со следующим соответствием
match="add[@name='MvcRoutingShim']"
- Внутри шаблона выведите элемент, который вы обрабатываете, используя
xsl:copy
, а затем выведите элемент добавления AzureReader
Это должно заставить вас идти.
Удостоверьтесь, что у вас есть редактор XML, который позволяет вам делать преобразования, чтобы вы могли экспериментировать локально, пока не получите правильное решение.