2012-06-03 28 views
2

我有一個XML模板,我把它放在一個txt文件中。我想將它導入到一個變量中,並使用「-f」將我的數據輸入到字符串中。喜歡的東西:在PowerShell中使用-f字符串格式獲取內容數據

$XMLtmplt = get-content C:\XMLtemplate.txt 
$XML = "$XMLtmplt" -f $objID $pageTitle $otherData 
$OneNoteObject.UpdatePageContent($XML) 

當$ XMLtmplt變量設置一個小字符串這個工作,但是當我要從文件中導入一個大的字符串失敗。我寧願不把一個長的XML字符串放在我的腳本中;從文件導入是很好的。我唯一的解決辦法迄今爲止就像插入點之前和之後,打破了數據:

$XML = "<All the first data>" 
$XML += $1stVariableToInsert 
$XML += "<more XML stuff>" 
$XML += $2ndVariableToInsert 
... 
$OneNoteObject.UpdatePageContent($XML) 

順便說一句,這是構建XML爲MS OneNote的API,其中我發現相當氣質。錯誤代碼不足以描述。當你擁有數百行XML時,一般的「錯誤的XML」不起作用。

任何想法?

+0

多久了?你能舉一個XML的例子嗎? – Richard

回答

0

一個具體問題:

$XML = "$XMLtmplt" -f $objID $pageTitle $otherData 

用於替代的參數與-f應該是逗號分隔:格式操作需要參數:一個字符串,它的右邊和數組左:

$XML = "$XMLtmplt" -f $objID, $pageTitle, $otherData