Лично я бы не использовал PowerShell для такой задачи.
Обычно вы используете PowerShell для доступа к файлам конфигурации, подобным этому
$config = [xml](gc web.config)
тогда вы можете работать с XML, как с объектами. Довольно круто.
Если вам нужно обрабатывать большие XML-структуры, то использование [xml]
(что эквивалентно XmlDocument
) довольно дорого.
Тем не менее, это почти все, что PowerShell поддерживает xml (get-command *xml* -CommandType cmdlet
даст вам все xml-подобные команды).
Конечно, можно использовать классы .NET для операций xml, но этот код не будет таким красивым, как настоящий подход PowerShell. Таким образом, для вашей задачи вам нужно будет использовать несколько читателей / писателей для этого, что имхо не стоит делать.
Вот почему я думаю, что xslt лучше подходит;)
Если вам нужно проявить гибкость, вы можете сгенерировать шаблон xlst во время выполнения скрипта или просто заменить имена файлов, это не проблема.