我有一个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');
但是它只会将新视图追加到最后一个类别。
在子节点的附加位置是否存在定义的“简便”可能性?