【发布时间】:2019-11-08 12:06:05
【问题描述】:
我有一个 XML 文件,如下所示:
<ViewsFile>
<Categories>
<ViewCategory Name="General">
<Views>
<View Name="firstView">
...
</View>
<View Name="secondView">
...
</View>
</Views>
</ViewCategory>
<ViewCategory Name="Bookings">
<Views>
<View Name="firstView">
...
</View>
<View Name="secondView">
...
</View>
</Views>
</ViewCategory>
<ViewCategory Name="Activities">
<Views>
<View Name="firstView">
...
</View>
</Views>
</ViewCategory>
</Categories>
</ViewsFile>
现在我想将以下 XML 文件附加到第一个文件中,同时考虑到正确的位置,即名称为“Bookings”的父级:
<ViewCategory Name="Bookings">
<Views>
<View Name="newView">
...
</View>
</Views>
</ViewCategory>
所以最终的 XML 文件应该如下所示:
<ViewsFile>
<Categories>
<ViewCategory Name="General">
<Views>
<View Name="firstView">
...
</View>
<View Name="secondView">
...
</View>
</Views>
</ViewCategory>
<ViewCategory Name="Bookings">
<Views>
<View Name="firstView">
...
</View>
<View Name="secondView">
...
</View>
<View Name="newView">
...
</View>
</Views>
</ViewCategory>
<ViewCategory Name="Activities">
<Views>
<View Name="firstView">
...
</View>
</Views>
</ViewCategory>
</Categories>
</ViewsFile>
目前我的 PowerShell 脚本如下所示:
[xml] $x = Get-Content C:\Users\user\Desktop\exitingViews.xml;
[xml] $y = Get-Content C:\Users\user\Desktop\newView.xml;
$x.ViewsFile.Categories.ViewCategory.Views.AppendChild($x.ImportNode(($y.ViewCategory.Views.View), $true));
$x.Save('C:\Users\user\Desktop\final.xml');
但它只会将新视图附加到最后一个类别。
是否有任何“简单”的可能性来定义在哪里附加子节点?
【问题讨论】:
标签: xml powershell appendchild