foreachループを使用してアイテムをコレクションに追加するXMLファイルから値を解析しようとしていて、そのコレクションのアイテムを別のforeachループを使用して別のコレクションに追加します。 、その後、私はこれを修正することができますどのように、私は同じ項目ごとに追加していためであると考えエラー"Item has already been added. Key in dictionary: 'System.Collections.Hashtable' Key being added: 'System.Collections.Hashtable'"
を与えるpowershellどのように項目を辞書に追加し、そのリストの項目を別の辞書に追加するのですか?
[xml]$testResults = Get-Content -Path $testResultsPath
$resultsByName = @{}
$resultsByPhone = @{}
$loop = 0
foreach($testCase in $testResults.'test-results'.'test-suite')
{
foreach($testCase in $testResults.'test-results'.'test-suite'[$loop].'results'.'test-suite'.'results'.'test-suite'.'results'.
'test-suite'.'results'.'test-suite'.'results'.'test-suite'.'results'.'test-suite'.'results'.'test-case')
{
$NameWithPone = $testCase.name.ToUpper().Substring($testCase.name.LastIndexOf('.')+1);
$Name =$NameWithPone.Substring(0, $NameWithPone.IndexOf('_'));
$PhoneVersion = $testCase.name.Substring($testCase.name.IndexOf('_')+1);
$resultsByName.Add($PhoneVersion, $Name)
Foreach($resultCase in $resultsByName)
{
$resultsByPhone.Add($resultsByName, $testCase.result)
}
}
$loop++
}
をしかし、これは唯一それを最初の結果を追加します。これは私がこれまでやっている何ですか?
google_pixel_xl-7_1_1 TESTTHATAREGISTEREDUSERCANLOGINTOTHECUSTOMERAPPSUCCESSFULLY
htc_10-6_0_1 TESTTHATAREGISTEREDUSERCANLOGINTOTHECUSTOMERAPPSUCCESSFULLY
oneplus_one-4_4_4 TESTTHATAREGISTEREDUSERCANLOGINTOTHECUSTOMERAPPSUCCESSFULLY
しかし、私は次のようになり、別のコレクションに一緒に両方の値を追加したい:
最初のコレクションは次のようになります。私は、このことによって行わしまった
google_pixel_xl-7_1_1 TESTTHATAREGISTEREDUSERCANLOGINTOTHECUSTOMERAPPSUCCESSFULLY Error
あなたは '$ループループの末尾にあるループ –
これを追加するのを忘れてしまった –