برای حذف گره XML خاص از PowerShell، میتوانیم از متد RemoveChild() XML استفاده کنیم.
به عنوان مثال، ما یک نمونه فایل XML از مایکروسافت داریم.
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85)
ما فایل فوق را در C:TempSampleXml.XML ذخیره کرده ایم و باید گره کتاب را با ویژگی ‘ bk102 ‘ حذف کنیم و برای آن از روش XPath XML استفاده خواهیم کرد.
دستورات زیر ابتدا گره کتاب XML را با ویژگی کتاب ‘ bk102 ‘ جستجو می کند و سپس آن را حذف می کنیم.
$xml = (Get-Content C:TempSampleXML.xml) $node = $xml.SelectSingleNode("//book[@id='bk102']") $node.ParentNode.RemoveChild($node) | Out-Null $xml.Save('C:TempSampleXML.xml')
اگر می خواهید تمام گره هایی که نام کتاب دارند را حذف کنید ، می توانیم از دستورات زیر استفاده کنیم.
$xml = (Get-Content C:TempSampleXML.xml) $xml.SelectNodes("//book") $nodes = $xml.SelectNodes("//book") foreach($node in $nodes){$node.ParentNode.RemoveChild($node)}
در مثال بالا، متد SelectNodes(‘//book’) همه گرههای دارای نام Book را انتخاب میکند و سپس آنها را حذف میکند.
[/membership] >