PowerShellを使用してXMLファイルの値を変更/作成できるかどうか知りたいのですが。基本的に私は興味があります:
構文1:
<settings> <setting id = "Location2" value = "Barcelona、Spain" /> <setting id = "Location2id" value = "zmw:00000.1.08181" /> </settings>
構文2:
<settings> <musicplayer> <crossfade> 0 </ crossfade> <queuebydefault> false </ queuebydefault> </ musicplayer > </ settings>
構文3:
<settings> <skinsettings> <setting type = "bool" name = "skin.confluence.HomepageHideRecentlyAddedVideo"> false </ setting> </スキン設定> </ settings>
任意の助けをいただければ幸いです。
ありがとう。
PowerShellは、XMLファイルの処理を完全にサポートしています。
たとえば、最初に提供した広告文を取り、それをフォルダー "C:\ blah"のsettings.xml
という名前のXMLファイルに貼り付けると、各設定のIDを次のように取得できます。
[xml]$myXML = Get-Content C:\blah\settings.xml
$myXML.settings.setting.id
どちらが戻ります:
Location2
Location2id
そして
$myXML.settings.setting.value
戻り値:
Barcelona, Spain
zmw:00000.1.08181
XMLファイルの内容を構文#2で指定した宣伝文に置き換えた場合:
[xml]$myXML = Get-Content C:\blah\settings.xml
$myXML.settings.musicplayer.crossfade
戻り値:
0
crossfade
を読み取り、それを(2に)変更して保存します。
[xml]$myXML = Get-Content C:\blah\settings.xml
$myXML.settings.musicplayer.crossfade = 2
$myXML.Save("C:\blah\settings.xml")
コメント後に編集:
(バルセロナの例のように)XML要素自体を変更するのは少し複雑です。これは、XML構造自体を編集するためであり、XML構造に含まれているデータではないためです。
[xml]$myXML = Get-Content C:\blah\settings.xml
$myXML.settings.ChildNodes.Item(0).value = "New York, USA"
$myXML.Save("C:\blah\settings.xml")
スキン設定の例については、次のようなものを試してください:
$myXML.settings.skinsettings.setting."#text" = "true"
以下のリソースを確認してください。