You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell脚本在XML标签内部插入值?

如何使用PowerShell脚本在XML标签内部插入值?

我来帮你搞定这个问题~你的脚本没生效是因为赋值方式不对,咱们一步步来修正:

问题出在哪?

你原来的代码里,当执行$node = $MyProjectserver1时,只是把$node这个变量的指向从XML节点改成了字符串'XYZAB',完全没对XML文档本身做任何修改,自然保存后看不到变化啦。

修正后的脚本

要修改XML标签内部的文本,咱们需要操作节点的InnerText属性(或者用#text属性也可以),直接修改节点的内容:

$path = 'C:\newfolder\data.xml'
$MyProjectserver1 = 'XYZAB'

# 加载目标XML文件
$xml = [xml](Get-Content -Path $path)

# 定位到符合条件的节点
$node = $xml.Topology.MyProjectserver1 | Where-Object {$_.desc -eq 'name of the server'}

# 关键步骤:设置节点的内部文本内容
$node.InnerText = $MyProjectserver1

# 保存修改后的XML到文件
$xml.Save($path)

简化版(如果确定只有一个目标节点)

如果你的XML里MyProjectserver1节点只有一个,或者你不需要筛选desc属性,还可以更简洁:

$path = 'C:\newfolder\data.xml'
$MyProjectserver1 = 'XYZAB'

$xml = [xml](Get-Content -Path $path)
$xml.Topology.MyProjectserver1.InnerText = $MyProjectserver1
$xml.Save($path)

执行后的效果

运行脚本后,你的XML内容就会变成你想要的样子:

<?xml version="1.0" encoding="utf-8"?>
<Topology>
<MyProjectserver1 desc="name of the server">XYZAB</MyProjectserver1>
</Topology>

备注:内容来源于stack exchange,提问作者Mohan Reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 15:53:12