Я пытаюсь изменить xml файл с одной структуры на другую, используя только несколько вещей, которые мне нужны, с помощью PowerShell. Исходный файл выглядит так:
<?xml version="1.0" encoding="iso-8859-1"?>
<Files xmlns="http://testnamespace.com">
<File>
<Naam>filenameone.XML</Naam>
<Type>testtype</Type>
<Lines>15</Lines>
</File>
<File>
<Name>filenametwo.XML</Name>
<Type>Journaalposten</Type>
<Lines>3</Lines>
</File>
<Amount>0,00</Amount>
<Indication>D</Indication>
</Files>
И идея состоит в том, чтобы преобразовать его в это:
<?xml version="1.0" encoding="iso-8859-1"?>
<Files xmlns="http://testnamespace.com">
<File>filenameone.XML</File>
<File>filenametwo.XML</File>
</Files>
В настоящее время у меня есть все необходимое, чтобы забрать файл и все такое, Я просто хочу изменить структуру xml и сохранить файл. Я не знаю, лучше ли написать новый файл или l oop через элементы и изменить их, как I go, это то, что у меня сейчас есть:
$transportFile = Get-ChildItem -Path $currentLocation -Filter *transport*
[xml]$xml = Get-Content -Path $transportFile
$nsm = New-Object Xml.XmlNamespaceManager($xml.NameTable)
$nsm.AddNamespace('ns', $xml.DocumentElement.NamespaceURI)
$ParametersNode = $xml.SelectNodes('//ns:Files', $nsm)
foreach($Node in $ParametersNode){
#Do something to transform the current node
}
$xml.Save('test.xml')