【问题标题】:How can i update a current value in a XML file using powershell?如何使用 powershell 更新 XML 文件中的当前值?
【发布时间】:2018-09-28 13:04:23
【问题描述】:

大家好,我不知道之前是否有人问过这个问题,但我需要使用 powershell 更新 xml 文件中的几个值我有以下代码它在本地工作但在 tfs 上它不起作用我收到以下错误@ 987654321@

我有以下代码

$EmployeeData= "C:\files\Employees.xml"
$oldEmployeeID= "23"
$NewEmployeeID= "25"

$content = [System.IO.File]::ReadAllText($EmployeeData).Replace($oldEmployeeID, $NewEmployeeID)
[System.IO.File]::WriteAllText($EmployeeData, $content)

localy 它可以工作,但在 tfs 上它的崩溃有人知道为什么 带有以下错误代码

System.Management.Automation.MethodInvocationException: Exception calling "ReadAllText" with "1" argument(s): "Value cannot be null.

【问题讨论】:

  • 您能否详细说明“在 tfs 上它不起作用”?您是否将脚本包含在 TFS 构建中?您的构建定义如何?您使用的是哪个版本的 TFS?

标签: c# xml powershell tfs system.io.file


【解决方案1】:

您不需要使用它。您可以通过类型转换直接在 powershell 中解析 XML:

$EmployeeData= "C:\files\Employees.xml"
$oldEmployeeID= "23"
$NewEmployeeID= "25"

[XML]$content = Get-Content $EmployeeData

然后您可以访问 $content.elementId$content.nodename

关注THIS供您参考。

希望对你有帮助。

【讨论】:

    【解决方案2】:

    如果您想在 TFS 构建期间更新 XML 文件中的值/标记,一种简单的方法是在构建定义中使用 Replace Tokens taskTokenization Task

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      相关资源
      最近更新 更多