XML ファイルを生成する Powershell スクリプトを作成しました。XML データはすべてスクリプト内にあり、繰り返す必要のある項目はすべて、CSV の行数 (ヘッダーを除く) に基づいてループさせます。
スクリプトの次の部分は、私が問題を抱えている場所です。同じ CSV に基づいて、生成された XML ファイルを変更し、検索と置換を実行しようとしています。FName1、FName2、FName3、LName1、LName2、LName3 など、ループから置き換える必要のある単語を生成しました。
ここでの問題は、CSV ファイルからこれらの単語を置き換えようとすると、FName1、FName2 などをハードコーディングしない限り、何も置き換えられないことです。
これは私が間違っていると知っているコードです_.FirstNames and $
.... .
$c = Import-Csv test.csv
Get-ChildItem test.xml | Foreach-Object {
$xmldoc = (Get-Content test.xml | Out-String)
$i = 0
$c | Foreach-Object {
$xmldoc = $xmldoc -replace 'FName' + $i++,$_.FirstNames `
-replace 'LName' + $i,$_.LastNames
}
$xmldoc | Set-Content test.xml
}
これは test.xml ファイルの一部です
<ItemRef ItemID="FName1" Mandatory="No"/>
<ItemRef ItemID="FName2" Mandatory="No"/>
<ItemRef ItemID="FName3" Mandatory="No"/>
<ItemRef ItemID="LName1" Mandatory="No"/>
<ItemRef ItemID="LName2" Mandatory="No"/>
<ItemRef ItemID="LName3" Mandatory="No"/>
これが test.csv ファイルです。
FirstNames,LastNames
John,Doe
Jane,Doe
Mike,Smith
Samantha,Fox
どんな助けでも大歓迎です!
ありがとう、
ナス