当前位置:  开发笔记 > Android > 正文

通过PowerShell编写和读取XML配置

如何解决《通过PowerShell编写和读取XML配置》经验,为你挑选了1个好方法。

我正在努力使用PowerShell读取XML文件.

主要思想是 - 我有一个标志,表示是否读取或写入配置文件.如果需要编写文件 - 脚本将获取参数并将其保存到XML文件中.如果该标志设置为"read" - PowerShell脚本不带参数,但它应该从保存的XML中获取它们.

问题是从XML读取.我使用代码写入XML:

$Config = @{}
$Config.parameter1 = $parameterValue
$Config.dictionaryWithArray = $dictWithArray
($Config | ConvertTo-XML).Save("$path")

保存的XML文件结果为:



  
    parameter1
    value_in_variable_parameter_Value
    dictionaryWithArray
    
      key1
      
        subkey1
        subvalue1
      
      key2
      
        subkey2
        subvalue2
      
... and so on


我尝试使用诸如http://blogs.technet.com/b/heyscriptingguy/archive/2012/09/13/powertip-use-powershell-to-easily-read-an-xml-document等方法来阅读此配置. aspx,但没有运气.

请问,请问如何读取配置文件,用这种方法编写?或者可能有更好的方法在写入之前序列化配置,所以它会更容易阅读吗?



1> Matt..:

有很多方法可以使用XML,但您可能已阅读的大多数博客都不会从XML中读取自定义/嵌套对象.我个人并不知道如何做到这一点,但我确信存在解决方案.

或者可能有更好的方法在写入之前序列化配置

这就是我想要关注的答案.你可以使用Export-CliXml和它的对应物Import-CliXml.这些cmdlet应该更容易为您完成工作.

#.... your other code that generates $config
$Config | Export-Clixml $path

然后,您可以根据需要调用配置并检查您将数据写入文件之前的值.

$fileConfig = Import-Clixml $path
$fileConfig.parameter1

请注意您的对象可能需要使用-Depth的复杂程度Export-CliXml.

-深度

指定XML表示中包含多少级别的包含对象.默认值为2.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有