powershell Xml替换节点文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell Xml替换节点文本相关的知识,希望对你有一定的参考价值。


function Get-VmIpv4Address ($VmName) {
  get-vmnetworkadapter -vmname "$VmName"  | % { $_.IpAddresses } | ? { $_ -notmatch ":" } | select -first 1
}

function Update-VMIpAddresses {
	param([string]$EnvironmentFilename)

	function UpdateMachineIpAddress($serverNode) {
		$machineName = $serverNode.MachineName
		$ipNode = $serverNode.SelectSingleNode("IpAddress")
		$ipAddress = (Get-VmIpv4Address $ipNode.MachineName)
		$ipNode."#text" = $ipAddress
	}
	$environmentFile = gci $EnvironmentFilename
	$environmentXNode = [xml](gc $environmentFile)
	$environmentXNode.SelectNodes("//Server") | % { UpdateMachineIpAddress $_ }
	$environmentXNode.Save($environmentFile)

	## Update vm .hosts files
	## Update host .hosts file
}

以上是关于powershell Xml替换节点文本的主要内容,如果未能解决你的问题,请参考以下文章

替换Groovy XML节点会导致后续findAll调用出现问题

如何使用powershell将文本($)替换为文本文件中的引号

XSLT 替换属性值和文本节点中的文本

如何使用 DOMDocument 替换节点的文本

Powershell XML 用新值替换元素

Powershell:如何更新XML节点属性值的特定字符