更新はこんな感じ。
$configFile = "d:\desktop\config.xml" Get-Content $configFile | tee -Variable config "--------------------------" $xml = [xml]$config $xml.config.param1 = "9999" $xml.Save($configFile) gc $configFile |
結果は、
<config>
<param1>1111</param1>
<param2>2222</param2>
<param3>3333</param3>
</config>
--------------------------
<config>
<param1>9999</param1>
<param2>2222</param2>
<param3>3333</param3>
</config>
前回と同様にこんなXMLの場合、
<Address>
<Person type="Personal">
<Name>佐藤</Name>
<Phone>111-1111</Phone>
</Person>
<Person type="Business">
<Name>吉田</Name>
<Phone>333-3333</Phone>
</Person>
</Address>
$file = "d:\desktop\sample.xml" $xml = [xml](Get-Content d:\desktop\sample.xml -Encoding UTF8) #$xml.Address.Person[0].Name + "`n" $xml.Address.Person[0].Name = "高橋" $xml.Save($file) gc $file -Encoding UTF8 |
佐藤
<Address>
<Person type="Personal">
<Name>高橋</Name>
<Phone>111-1111</Phone>
</Person>
<Person type="Business">
<Name>吉田</Name>
<Phone>333-3333</Phone>
</Person>
</Address>
追加する場合は、
$file = "d:\desktop\sample.xml" $xml = [xml](Get-Content d:\desktop\sample.xml -Encoding UTF8) $p2 = $xml.CreateElement("Phone2") $p2.InnerText = "999-999" $p2.SetAttribute("testatt","test") [void]$xml.Address.Person[0].AppendChild($p2) $xml.Save($file) gc $file -Encoding UTF8 |
結果はこんな感じ。
<Address>
<Person type="Personal">
<Name>高橋</Name>
<Phone>111-1111</Phone>
<Phone2 testatt="test">999-999</Phone2>
</Person>
<Person type="Business">
<Name>吉田</Name>
<Phone>333-3333</Phone>
</Person>
</Address>
おそらくXMLの扱い方はいろいろあると思うので、こんなやり方でとりあえずできるよという事で。
0 件のコメント:
コメントを投稿