所以我正在学习如何使用powershell操作xml文档。现在我只是想改变一个给定节点,然后保存更改。我目前仍然坚持如何保存我的更改。
这就是我所拥有的。
$xmlfile = "testFile.xml"
$xml = [xml](get-content $xmlfile)
$employee = $xml.employees.employee
$employee[1].name = "New Name" // this is where I change the content of the xml file
//is this an okay way to change the value of the element??
$xml.save($xmlfile) //why wouldn't this line save my changes??
感谢您的帮助:)
答案 0 :(得分:2)
您需要将完整路径传递给save方法(例如$ xml.save((Resolve-Path $ xmlfile)))当您在powershell中将变量强制转换为[xml]时,它会将xml加载到XmlDocument对象中,这是的一部分。 NET Framework。它不知道powershell,所以它不知道你的shell目前在哪个目录。所以你上面的代码是保存文档,但不是在你期望的地方。