我正在使用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);
}
答案 0 :(得分:2)
您之所以看到这一点,是因为您正在对$ XML进行更改,$ XML是内存中的对象。您必须将这些设置保存到文件中以反映它,因此您可以通过调用$ XML的.Save()方法来执行此操作。我认为这里的问题是您尝试使用以下行进行保存:
$xml.Save((Resolve-Path "$Path"))
我相信这种语法会导致问题,因为Resolve-Path会返回一个带有Path属性的对象。试试这个。
$xml.Save((Resolve-Path "$Path").Path)