2012-02-08 138 views
0

我已經創建了一個函數來讀取目錄列表,然後讀取CNC程序名/數字的文件內容。每個文件都有多個程序編號,我用「,」分隔,並以obj的形式傳遞(請參閱下面的代碼)。我想將它導出到XML上傳到一個數據庫中,每個程序名都在一個單獨的條目中。什麼是最好的/最簡單的方法來實現這一目標?Powershell和一對多的關係/對象

$obj = New-Object -TypeName PSObject 
$obj | Add-Member -MemberType NoteProperty -Name FullFileName -Value $CNCProgFileName 
$obj | Add-Member -MemberType NoteProperty -Name ProgramName -Value $ProgramName 

回答

0

像你這樣做的自定義對象是很好的。我建議創建一個屬性是一個數組,因此您可以將數組中的許多事物關聯到一個對象。

$myListOfStuff = @() 
$myListOfStuff += "Stuff" 
$myListOfStuff += "More stuff" 

$obj = New-Object PsObject @{ 
    FullFileName = $CNCProgFileName 
    ProgramName = $ProgramName 
    ListOfStuff = $myListOfStuff 
} 

你可以看到你的東西列表與Select-Object-ExpandProperty像這樣:$obj | select -expand ListOfStuff

+0

感謝您的快速回復。明天我會給它,併爲其他人提供反饋。 – resolver101 2012-02-08 17:58:44

+0

結果仍然以字符串形式出現,而不是數組。我使用以下內容將程序名稱添加到變量「$ ProgramName + = $ cncPrograms」中。然而,這將$ cncprogram的類型分配給ProgramName,我只想要該值。什麼是最好的方法來實現這一目標? – resolver101 2012-02-09 13:36:15

0

在PowreShell 2.0中,您可以使用ConvertTo-Xml cmdlet從您的對象中生成XML。