txtファイルに入れたXMLテンプレートがあります。それを変数にインポートし、「-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)
ところで、これはMS OneNote APIのXMLを構築するためのものであり、非常に気まぐれであることがわかりました。エラーコードは説明的ではありません。数百行のXMLがある場合、一般的な「悪いXML」は役に立ちません。
何か案は?