【发布时间】:2017-02-13 22:11:53
【问题描述】:
我是 PowerShell 新手,正在尝试从我的 xml XML 文件中删除一个 XML 元素。
为此,我使用了以下来自Adding and Removing Xmlnode using Powershell的示例代码
该示例运行良好,但是当我尝试将其用于我的代码时,它不再起作用。代码如下:
$Output = "C:\Users\Desktop\resulttest.xml"
# Load the existing document
$Doc = [xml](Get-Content -Path C:\Users\Desktop\test.xml)
# Specify tag names to delete and then find them
$DeleteNames= "body"
($Doc.Task.ChildNodes | Where-Object { $DeleteNames -contains $_.Name }) | ForEach-Object {
# Remove each node from its parent
[void]$_.ParentNode.RemoveChild($_)
}
# Save the modified document
$Doc.Save($Output)
我使用以下示例 XML 文件:
<html>a
<body>b</body>
<Price>300</Price>
<Total> 5000 </Total>
<Part_C>
<Name>Jar</Name>
<Title>Mr</Title>
<CountryCode> 5000 </CountryCode>
</Part_C>
</html>
XML 文件的目标是删除多个标签,例如“价格”和“总计”或“价格”、“标题”、“总计”
但是当我运行代码时,它仍然包含这些标签。
我的问题是我做错了什么,如何确保 PowerShell 删除 XML 标记?
【问题讨论】:
标签: xml powershell