A análise de XML no MS Powershell é mais fácil do que qualquer mecanismo de análise que já vi em qualquer outro idioma ou ambiente que eu tenha encontrado pessoalmente.
Dado algum arquivo XML (test.xml):
<root>
<one>I like applesauce</one>
<two>You sure bet I do!</two>
</root>
Você pode acessar, modificar e anexar facilmente nós, valores e atributos do arquivo XML de dentro do Powershell.
# load XML file into local variable and cast as XML type.
$doc = [xml](Get-Content ./test.xml)
$doc.root.one #echoes "I like applesauce"
$doc.root.one = "Who doesn't like applesauce?" #replace inner text of <one> node
# create new node...
$newNode = $doc.CreateElement("three")
$newNode.set_InnerText("And don't you forget it!")
# ...and position it in the hierarchy
$doc.root.AppendChild($newNode)
# write results to disk
$doc.save("./testNew.xml")
XML resultante no arquivo testNew.xml:
<root>
<one>Who doesn't like applesauce?</one>
<two>You sure bet I do!</two>
<three>And don't you forget it!</three>
</root>
Incrivelmente fácil! Aproveite.
O Powershell é o novo shell da Microsoft que vem com o Windows Server 2008 e o Windows 7 e é um download gratuito para o XP / Vista / Server 2003 (talvez outros).
Alguns links úteis: Gerando XML de outras fontes
Adicionando elementos ao XML:
Exemplo 1, blogue do MSDN PowerShell Exemplo 2, PC-Pro (Reino Unido)