为什么powershell不保存xml文件?

时间:2015-04-28 12:05:30

标签: xml powershell powershell-v2.0

我正在使用powershell查找并替换xml文件属性中的字符串。字符串被正确替换[我通过显示验证它

  

“替换$($ Item.Node。$ attribute)后”

]但在配置文件中没有反映出来。好像它没有正确保存最新值。我尝试了所有的可能性,但仍然神秘地说它不能保存。我使用的是powershell版本2.

/* @throws \Symfony\Component\HttpKernel\Exception\HttpException
 * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException */

public function abort($code, $message = '', array $headers = array())
{
    if ($code == 404)
    {
        throw new NotFoundHttpException($message);
    }

1 个答案:

答案 0 :(得分:2)

您之所以看到这一点,是因为您正在对$ XML进行更改,$ XML是内存中的对象。您必须将这些设置保存到文件中以反映它,因此您可以通过调用$ XML的.Save()方法来执行此操作。我认为这里的问题是您尝试使用以下行进行保存:

$xml.Save((Resolve-Path "$Path"))

我相信这种语法会导致问题,因为Resolve-Path会返回一个带有Path属性的对象。试试这个。

$xml.Save((Resolve-Path "$Path").Path)