Web Config Transformation to add a child element

I’ve got the following configuration in 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>

In web.config.Release, how can I add the AzureReader element as a child of the plugins element (effectively uncommenting out the above)?

I’m familiar with how to do basic transformations but have never done this before.

Answers:

Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.

Method 1

You can use the Insert transformation:

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

Web.config Transformation Syntax for Web Application Project Deployment

Method 2

If you want to do it using XSLT then here is some guidance as I don’t have time right now to knock this out.

  1. Look up the identity transform. That will give you a simple XSLT that duplicates exactly what reads.
  2. Add a template above the generic templates with the following match match="add[@name='MvcRoutingShim']"
  3. Inside the template output the element you are processing using xsl:copy and then output the AzureReader add element

That should get you going.

Make sure you have an XML editor that allow you to do transforms so you can experiment locally until you get it right.


All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x