在Powershell中使用相同的节点名称编辑不同的xml节点

时间:2019-02-05 17:08:52

标签: xml powershell

我正在尝试通过Powershell脚本编辑xml节点。我需要更新3个节点,其中1个唯一,而2个具有相同名称。但是,我无法弄清楚如何用相同的名称编辑这两个节点并为它们分配不同的值。

file.xml的结构如下:

<root>
    <FileLocation ArchivePath = "\\server\oldArchivePath">
        <FileDestinations>
            <Path>\\server\oldFileDestination1\Source</Path>
            <Path>\\server\oldFileDestination2\Source</Path>
        </FileDestinations>
    </FileLocation>
<root>

我的powershell代码如下:

$filePath = \\server\file.xml
$xml = [xml](Get-Content $filePath)

    #updating attributes
    $node = $xml.root.FileLocation 
    $node.FileDestinations.Path = "\\server\FileDestination1\Source"
    $node.FileDestinations.Path = "\\server\FileDestination2\Source"
    $node.ArchivePath = "\\server\ArchivePath"
    $xml.Save($filePath)

我希望我的代码将这些节点重命名为以下内​​容:

<root>
    <FileLocation ArchivePath = "\\server\ArchivePath">
        <FileDestinations>
            <Path>\\server\FileDestination1\Source</Path>
            <Path>\\server\FileDestination2\Source</Path>
        </FileDestinations>
    </FileLocation>
<root>

我希望分配这些特定值,而不是使用查找/替换文本字符串逻辑。有没有办法实现这个目标?

0 个答案:

没有答案