Я использую преобразования web.config, доступные через VS2010. В этом одном случае мне интересно, можно ли «окружить» элемент другим во время преобразования. Вот пример:
по умолчанию web.config содержит:
<configuration>
<system.web>
....
</system.web>
</configuration>
Мой преобразованный файл должен содержать
<configuration>
<location inheritInChildApplications="false">
<system.web>
...
</system.web>
</location>
</configuration>
Так что, по сути, я хочу «обернуть» элемент system.web элементом location. Моя единственная мысль состояла в том, чтобы сделать преобразование так, чтобы я вставлял до и после как:
<location inheritInChildApplications="false"
xdt:Transform="InsertBefore(/configuration/system.web)">
</location xdt:Transform="InsertAfter(/configuration/system.web)">
Но закрывающий элемент местоположения не является действительным xml в соответствии с VS (я предполагаю, что из-за атрибута Transform). Простая вставка самозакрывающегося элемента местоположения перед system.web также не помогает, потому что результирующий system.web все еще не «окружен».