そこで、xml ファイルを読み込んで解析し、クリーンアップ後にファイルに出力するための powershell スクリプトを作成しました。私の問題は、 foreach ループをループすると、すべてが同じ変数に格納されることです。
#Access the XML file
[xml]$XML= [xml](Get-Content $XmlPath)
foreach ($node in $XML.catalog.entry)
{
#XML Variables
$Username = $XML.catalog.entry.username
$Description = $XML.catalog.entry.description
$Service = $XML.catalog.entry.service
#Creating the syslog event that will be sent to SecureVue
$writeOutput= "Username : [$Username] Description: [$Description] Service: [$Service]"
#output
$writeOutput
}
残念ながら、私はそれを取得し続ける出力:
Username : [User1 User2 User3 User4] Description: [Description1 Description2 Description3 Description4] Service: [Service1 Service2 Service3 Service4]
Username : [User1 User2 User3 User4] Description: [Description1 Description2 Description3 Description4] Service: [Service1 Service2 Service3 Service4]
Username : [User1 User2 User3 User4] Description: [Description1 Description2 Description3 Description4] Service: [Service1 Service2 Service3 Service4]
Username : [User1 User2 User3 User4] Description: [Description1 Description2 Description3 Description4] Service: [Service1 Service2 Service3 Service4]
それ以外の:
Username : [User1] Description: [Description1] Service: [Service1]
Username : [User2] Description: [Description2] Service: [Service2]
Username : [User3] Description: [Description3] Service: [Service3]
Username : [User4] Description: [Description4] Service: [Service4]
私はいくつかのバリエーションが必要であることを知っています:
foreach($node in $XML.ChildNodes)
しかし、私はそれを機能させることができないようです。配列内の各ノードの 1 つの配列位置を使用して各行を書き出す方法についてのアイデアはありますか?
ありがとうございました!