0

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

どんな助けでも大歓迎です!

ありがとう、

ナス

4

1 に答える 1