如何使用 PowerShell 从 XML 文件中删除特定节点?
如需从 PowerShell 中删除特定 XML 节点,我们可以使用 XML 的 RemoveChild() 方法。
例如,我们有一个来自 Microsoft 的 XML 示例文件。
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/ms762271(v=vs.85)
我们将上述文件保存在 C:\Temp\SampleXml.XML 中,我们需要删除 book 节点(其属性为‘bk102’),为此,我们将使用 XML 的 XPath 方法。
以下命令首先搜索 book 属性为‘bk102’的 XML book 节点,然后将其删除。
$xml = [xml](Get-Content C:\Temp\SampleXML.xml)
$node = $xml.SelectSingleNode("//book[@id='bk102']")
$node.ParentNode.RemoveChild($node) | Out-Null
$xml.Save('C:\Temp\SampleXML.xml')如果想要删除所有名为“Book”的节点,可以使用以下命令。
$xml = [xml](Get-Content C:\Temp\SampleXML.xml)
$xml.SelectNodes("//book")
$nodes = $xml.SelectNodes("//book")
foreach($node in $nodes){$node.ParentNode.RemoveChild($node)}在上述示例中,SelectNodes(‘//book’) 方法将选择所有名为 Book 的节点,然后将它们删除。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP