从给定的XML

时间:2018-05-18 05:21:35

标签: xml powershell

我正在尝试使用powershell完全删除第一个元素,但遇到问题。寻找任何指针。

$SeedTemp_XML.InnerXml是下面的system.xml.xmlnode

<Seed DcFolder="WAN">

<Wiring Action="Add">
<Start DeviceType="" DeviceRegex="" Scope="" ItfNames="" />
<End DeviceType="" DeviceRegex="" Scope="" ItfNames="" />
<DevicePattern Scope="Local" />
</Wiring>

<Wiring Action="Add">
<Start DeviceType="Server" DeviceRegex="DeviceA" Scope="Datacenter" ItfNames="" />
<End DeviceType="Server" DeviceRegex="DeviceB" Scope="Datacenter" ItfNames="" />
<DevicePattern Scope="Local" />
</Wiring>
</Seed>

当我尝试$SeedTemp_XML.Seed.FirstChild.RemoveAll()时 它最终会像预期的那样结束,但也需要删除空的<Wiring></Wiring> ..

<Seed DcFolder="WAN">

<Wiring>
</Wiring>

<Wiring Action="Add">
<Start DeviceType="Server" DeviceRegex="DeviceA" Scope="Datacenter" ItfNames="" />
<End DeviceType="Server" DeviceRegex="DeviceB" Scope="Datacenter" ItfNames="" />
<DevicePattern Scope="Local" />
</Wiring>
</Seed>

1 个答案:

答案 0 :(得分:2)

您正在移除Seed的第一个孩子的所有孩子。

要移除Seed的第一个孩子,您需要执行此操作:

$SeedTemp_XML.Seed.RemoveChild($SeedTemp_XML.Seed.FirstChild)