我已经弄清楚如何使用变量之前的 [xml]
标记和 Get-Content
将 xml 文件导入 Powershell 变量,但填充每个变量在 Powershell 中,从新的 xml 格式变量中一次获取一个变量是一项艰苦的工作。
$variable = $xml.vars.Linux.variable1
$variable2 = $xml.vars.Linux.variable2
...等等。
是否有更短/更快的方法来导入该 xml 文件并设置与节点名称匹配的 Powershell 变量并使用关联的节点值填充这些变量?因此,我不必使用相应的命名 xml 节点专门填充每个 Powershell 值,我可以只使用 Powershell 变量,而无需填充它们的代码行?
我怀疑我可能需要某种循环...当前的 xml 结构是 3 层,第二层节点的类别名称,然后是内部节点的变量名称。例如:
<vars>
<Windows>
<Hostname>Contoso</Hostname>
<IP_Address>192.168.1.1</IP_Address>
</Windows>
<Linux>
<variable1>Yup</variable1>
<variable2>Yessir</variable2>
</Linux>
</vars>
谢谢!
最佳答案
您可以为特定节点下的每个元素创建一个变量,如下所示:
$xml.vars.Linux.ChildNodes | %{ New-Variable -Name $_.Name -Value $_.InnerText -PassThru}
您可以删除 -PassThru
开关以避免将变量输出到管道上。
关于xml - 将 xml 元素导入 powershell 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45221549/