将xml元素导入Powershell变量

杰森

我已经弄清楚了如何使用[xml]变量和之前标记将xml文件导入到Powershell变量中Get-Content,但是一次从一个新的xml格式的变量中填充Powershell中的每个变量是很艰苦的。

$variable = $xml.vars.Linux.variable1
$variable2 = $xml.vars.Linux.variable2

... 等等。

是否有更短/更快的方法来仅导入该xml文件并设置与节点名称匹配的Powershell变量,并用相关的Node值填充这些变量?因此,我不必用对应的命名xml Node专门填充每个Powershell值,我可以只使用Powershell变量而无需一行代码来填充它们?

我怀疑我可能需要某种循环...当前的xml结构是3层,第二层Node的类别名称,然后是其中的Node的变量名称。例如:

<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开关以避免将变量输出到管道上。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档