XmlForm.MergeForm メソッド (XPathNavigator)
現在のフォームを、メソッドに渡された XPathNavigator によって返されるノードに指定されたターゲット フォームにマージします。
名前空間: Microsoft.Office.InfoPath
アセンブリ: Microsoft.Office.InfoPath (Microsoft.Office.InfoPath.dll)
構文
'宣言
Public MustOverride Sub MergeForm ( _
target As XPathNavigator _
)
'使用
Dim instance As XmlForm
Dim target As XPathNavigator
instance.MergeForm(target)
public abstract void MergeForm(
XPathNavigator target
)
パラメーター
- target
型: System.Xml.XPath.XPathNavigator
現在のフォームにマージする XML データを提供する XPathNavigator。
例外
例外 | 条件 |
---|---|
InvalidOperationException | MergeForm メソッドが Loading イベントから呼び出されました。 |
ArgumentNullException | このメソッドに渡されたパラメーターは null 参照 (Visual Basic ではNothing ) です。 |
ArgumentException | このメソッドに渡されたパラメーターは無効です。たとえば、型または形式が正しくありません。 |
解説
MergeForm メソッドは、InfoPath エディターの [フォームの結合] コマンドを使用することと同等です。target パラメーターとして渡された XPathNavigator によって提供される XML データは、現在のフォームにマージされる有効な XML でなければなりません。提供された XML データが InfoPath フォームとしてラップされていない場合、InfoPath によってデータがラップされます。
このメンバーには、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームのみがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler で開かれたフォームを実行中のコードからのみアクセスできます。
例
次のコードの例では、System.Xml.XmlDocument オブジェクトを使用して、指定された URL からフォームを読み込み、次に System.Xml.XPath.XPathNavigator オブジェクトを、マージするフォームのルートに配置します。最後に、XPathNavigator を MergeForm(System.Xml.XPath.XPathNavigator) メソッドに渡して、フォームを現在のフォームにマージします。
string pathToFile = @"C:\FormToMerge\Form1.xml";
XmlDocument FormXML = new XmlDocument();
// The form tempate must be Full Trust for the
// XmlDocument.Load method to work.
FormXML.Load(pathToFile);
XPathNavigator nav = FormXML.CreateNavigator();
// Merge the root node (the entire document) into the current form.
this.MergeForm(nav);
Dim pathToFile As String = "C:\FormToMerge\Form1.xml"
Dim FormXML As New XmlDocument
' The form tempate must be Full Trust for the
' XmlDocument.Load method to work.
FormXML.Load(pathToFile)
Dim nav As XPathNavigator = FormXML.CreateNavigator()
' Merge the root node (the entire document) into the current form.
Me.MergeForm(nav)