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-Key: 294343

Url: https://administrator.de/contentid/294343

Printed on: April 19, 2024 at 22:04 o'clock

Member: TlBERlUS
TlBERlUS Jan 27, 2016 at 10:29:17 (UTC)
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?
Member: H41mSh1C0R
H41mSh1C0R Jan 27, 2016 updated at 11:10:40 (UTC)
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>
Mitglied: 114757
Solution 114757 Jan 27, 2016 updated at 12:01:52 (UTC)
Goto Top
$node = $global:Config.SelectSingleNode("/sub/DIR[@name='Test']")   
$node.ParentNode.RemoveChild($node)

Gruß jodel
Member: H41mSh1C0R
H41mSh1C0R Jan 27, 2016 at 12:02:31 (UTC)
Goto Top
Danke dir. =)