2017-01-26 21 views
-3

XMLファイルの16番目の文字列の値を変更するPowerShellスクリプトを作成してもらえますか?同じ値を持つ複数の文字列があり、16番目の文字列でのみ変更する必要がある場合は、どのコマンドを使用する必要がありますか?XMLファイルの特定の文字列の値を変更する

ファイルCash-config.xml

刺さが異なっている必要があります

property key="shopOrganization" value="X"/

価値がある、のはYを言わせて。

私のスクリプトがある

$a = Get-Content /home/tc/$logtimestamp/cash-config.xml; 
$a[16] = 'ИП Смирнов Александр'; 
$a | Set-Content /home/tc/$logtimestamp/cash-config.xml 

XML:すべての

<moduleConfig xsi:schemaLocation="crystals.ru/cash/settings ../module-config.xsd" 
     settingsGroup="main" 
     visible="true" 
     description="Общие настройки кассы" 
     xmlns="crystals.ru/cash/settings" 
     xmlns:xsi="w3.org/2001/XMLSchema-instance"> 
    <property key="shopOrganization" value="ИП Смирнов А"/> 
    </property> 
</moduleConfig> 
+0

文字列の位置に頼るべきではなく、XMLメソッドを使用してXMLを操作する必要があります。だから、助けを得るために、私たちにあなたのXMLとこれまでに試したことを教えてください。 –

答えて

0

まず、あなたのXMLは、このセクションでは、原因の余分な "/" の文字には無効です:値= "ИПСмирновА "/>

余分な文字を削除した後で、代わりに独自のファイル名やパスを使用してxmlを操作できます。

$a = [xml](Get-Content '.\test.xml') 
$a.moduleConfig.property.value = "value B" 
$a.Save('.\test.xml') 
+0

ナルシス、ありがとう。あなたは私をたくさん助けました。 –

関連する問題