h41msh1c0r
Goto Top

Powershell bestimmtes XML Element entfernen

Hi@PS Profi's,

ich versuche gerade ein bestimmtes XML Element zu löschen mit dem Attibute name=Test.

$node = $global:Config.SelectSingleNode("//Sub/DIR[name='Test']")  
$global:Config.RemoveChildWithContent($node)

Hier kommt er mit dem RemoveChildWithContent nicht klar.

foreach ($item in $global:Config.sub.DIR) 
{
	 if ($item.name -eq "Test")   
	{
		$global:Config.sub.DIR.RemoveChild($item); 
	}
	else
	{
		Write-Host "kein Eintrag gefunden!"  
	}
}

Der 2te Anlauf geht denke ich geht wegen $item.name in die Hose da Test dort denke ich ja das innerText vom .name ist oder?

Gruß vom H41mSh1C0r

Content-ID: 294343

Url: https://administrator.de/forum/powershell-bestimmtes-xml-element-entfernen-294343.html

Ausgedruckt am: 07.04.2025 um 09:04 Uhr

TlBERlUS
TlBERlUS 27.01.2016 um 11:29:17 Uhr
Goto Top
Hi,

Zitat von @H41mSh1C0R:
foreach ($item in $global:Config.sub.DIR)

Ohne jetzt ausführlich getestet zu haben, sollte sich das $item nicht auf $node beziehen?
H41mSh1C0R
H41mSh1C0R 27.01.2016 aktualisiert um 12:10:40 Uhr
Goto Top
Hi,

noe

Der erste Versuch war das direkte Element zu holen und das als $node zu übergeben.
Der 2te Versuch war nur den Zweig in dem die Elemente drinnen sind zu durchlaufen.

*kaffee such*

<?xml version="1.0" encoding="UTF-8"?> 
<sub>
    <DIR>
      <DIR name="DIR1" value="Beschreibung" /> 
      <DIR name="DIR2" value="Beschreibung" /> 
      <DIR name="Test" value="Beschreibung" /> 
  </DIR>
</sub>
114757
Lösung 114757 27.01.2016 aktualisiert um 13:01:52 Uhr
Goto Top
$node = $global:Config.SelectSingleNode("/sub/DIR[@name='Test']")   
$node.ParentNode.RemoveChild($node)

Gruß jodel
H41mSh1C0R
H41mSh1C0R 27.01.2016 um 13:02:31 Uhr
Goto Top
Danke dir. =)