I-Knoten mit dem Namen „ProjectOptions“ kopieren müssen von default.xml ohne log_alt.xml etwas zu modifizieren anderes:Import-Knoten von einem XML zum anderen auf Powershell
log_alt.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<KEYS>
<KEY ObjectName="computername_user" RegObjectType="0">
<KEYS>
<KEY ObjectName="Desktop" RegObjectType="0">
<KEYS>
<KEY ObjectName="Settings" RegObjectType="0">
<KEYS>
<KEY ObjectName="PrinterDefault" RegObjectType="0">
<VALUES>
<VALUE ObjectName="PrinterOrientation" Value="2" ValueType="4" />
</VALUES>
</KEY>
<KEY ObjectName="ProjectOptions" RegObjectType="0">
<VALUES>
<VALUE ObjectName="ShowWelcomeMsg" Value="0" ValueType="4" />
</VALUES>
</KEY>
</KEYS>
</KEY>
</KEYS>
</KEY>
</KEYS>
</KEY>
</KEYS>
Standard .xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<KEYS>
<KEY ObjectName="computername_user" RegObjectType="0">
<KEYS>
<KEY ObjectName="Desktop" RegObjectType="0">
<KEYS>
<KEY ObjectName="Settings" RegObjectType="0">
<KEYS>
<KEY ObjectName="PrinterDefault" RegObjectType="0">
<VALUES>
<VALUE ObjectName="PrinterOrientation" Value="2" ValueType="4"/>
</VALUES>
</KEY>
<KEY ObjectName="ProjectOptions" RegObjectType="0">
<VALUES>
<VALUE ObjectName="GSAddBatchOptionDialogRect" Value="381,203,981,629" ValueType="2"/>
<VALUE ObjectName="GSHeadNodeName" Value="" ValueType="2"/>
<VALUE ObjectName="GSIsAdvancedMode" Value="1" ValueType="4"/>
<VALUE ObjectName="GSRemoteSchedulerPlatform" Value="" ValueType="2"/>
<VALUE ObjectName="GSSchedulerName" Value="" ValueType="2"/>
<VALUE ObjectName="GSShowFrequentlyUsedBatchOptions" Value="1" ValueType="4"/>
<VALUE ObjectName="GSUserName" Value="" ValueType="2"/>
<VALUE ObjectName="ShowWelcomeMsg" Value="0" ValueType="4"/>
</VALUES>
</KEY>
</KEYS>
</KEY>
</KEYS>
</KEY>
</KEYS>
</KEY>
</KEYS>
ich habe versucht, so etwas wie dieses
$xml = [xml](Get-Content "C:\Temp\original.xml")
$xmld = [xml](Get-Content "C:\Temp\default.xml")
$Child=$xml.KEYS.KEY.KEYS.KEY.KEYS.KEY.KEYS.KEY[1].VALUES.VALUE
$xml.DocumentElement.InsertAfter($XML.ImportNode($xmld.SelectSingleNode("//KEY[@ObjectName = 'ProjectOptions']"), $true), $Child)
$xml.Save("C:\Temp\save.xml")
Aber es endete mit "Der Referenzknoten ist kein Kind dieses Knotens." Bitte sagen Sie mir, wo ich falsch gelaufen bin. Danke.