powershell 使用XPath使用PowerShell更新XML

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 使用XPath使用PowerShell更新XML相关的知识,希望对你有一定的参考价值。

function Edit-XmlNodes {
param (
    [xml] $doc = $(throw "doc is a required parameter"),
    [string] $xpath = $(throw "xpath is a required parameter"),
    [string] $value = $(throw "value is a required parameter"),
    [bool] $condition = $true
)    
    if ($condition -eq $true) {
        $nodes = $doc.SelectNodes($xpath)
         
        foreach ($node in $nodes) {
            if ($node -ne $null) {
                if ($node.NodeType -eq "Element") {
                    $node.InnerXml = $value
                }
                else {
                    $node.Value = $value
                }
            }
        }
    }
}

$xml = [xml](Get-Content "c:\my\file.xml")
# <file><foo attribute="bar" attribute2="bar" attribute3="bar" /></file>

Edit-XmlNodes $xml -xpath "/file/foo[@attribute='bar']/@attribute" -value "new value"

$xml.save("c:\my\file.xml")
# <file><foo attribute="new value" attribute2="bar" attribute3="bar" /></file>

以上是关于powershell 使用XPath使用PowerShell更新XML的主要内容,如果未能解决你的问题,请参考以下文章

Powershell - XPath - SUM() 和 Count() 子节点 - 仅限 XPath 表达式

如何使用Windows Power Shell

powershell 这将使用power shell获取特定SharePoint网站集下的所有子网站的列表。第二个文件获取我们的子站点

如何使用Windows Power Shell

powershell 更新power shell中的帮助系统。第二个文件在Windows中显示帮助文件。第三个文件显示来自在线来源的帮助。

使用 PowerShell 通过 FTP 上传文件