2

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」は役に立ちません。

何か案は?

4

1 に答える 1

0

1 つの特定の問題:

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

with 置換の引数は-fコンマで区切る必要があります。フォーマット演算子は2 つの引数を取ります。右側に文字列、左側に配列です。

$XML = "$XMLtmplt" -f $objID, $pageTitle, $otherData
于 2012-06-03T08:41:21.600 に答える