2015-08-19 10 views
-1

Я хотел обновить содержимое XML в пределах узла XML (узел называется <i_url> с новым URL, предоставленного ему.Не удается сохранить обновленное содержание XML

Это не похоже, чтобы установить его, хотя. Когда Я шагаю через отладчик, кажется, у меня есть ссылка на этот узел <i_url>, а затем, когда я установил его с новой строки и вызвать nodeToUpdate я могу увидеть новое значение там.

это не сохраняющиеся в файл XML, хотя, которые я хотел бы сделать. Любая помощь будет оценена.

$nodeToUpdate = $node.SelectSingleNode("//i_url"); 
$url = "http://www.daniel.co.nz" 
$nodeToUpdate.innertext = $url; 
#if i check nodeToUpdate it's got new value 
+0

Я не вижу какой-либо код, который даже отдаленно выглядит как сохранение XML ... Возможно, вы забыли вставить весь образец, который демонстрирует проблема. –

+0

[doc.save (filePath)] (https://msdn.microsoft.com/en-us/library/dw229a22 (v = vs.110) .aspx) –

+0

Выведенный фрагмент кода не сохраняет XML в любом месте , –

ответ

1

Т.е.

$path = 'C:\Temp\config.xml' 
$XML = [XML] (Get-Content $path) 

$ServerName = 'Google' 
$URL = 'http:\\www.google.se' 

$UpdateURL = $XML.Config.Server.URL 
$UpdateURL.Name = $URL 

$UpdateServerName = $XML.Config.Server.ServerName 
$UpdateServerName.Name = $ServerName 

$XML.Save($path) 

Ран на этом «XML» ...

<Config> 
    <Server> 
    <ServerName Name="BBC" /> 
    <URL Name="http:\\bbc.co.uk" /> 
    </Server> 
</Config> 
Смежные вопросы