FileQueryConnection.Execute(XPathNavigator) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
返されるデータを挿入する別の場所を指定できるように、既定 Execute() のメソッドをオーバーライドします。
public:
abstract void Execute(System::Xml::XPath::XPathNavigator ^ output);
public abstract void Execute (System.Xml.XPath.XPathNavigator output);
override this.Execute : System.Xml.XPath.XPathNavigator -> unit
Public MustOverride Sub Execute (output As XPathNavigator)
パラメーター
- output
- XPathNavigator
XPathNavigator返されたデータを挿入するフォームのプライマリ データ ソースまたはセカンダリ データ ソース内の XML ノードを指定する 。 パラメーターとしてoutput
渡される XPathNavigator は、ローカル コンピューター上の任意の XML ファイル、または保持されているメモリにデータをXmlDocument挿入するように指定することもできます。
例外
クエリ操作が失敗しました。
このメソッドに渡されるパラメーターは null 参照です (Visual Basic では Nothing)。
このメソッドに渡されるパラメーターは無効です。 たとえば、型または形式が正しくありません。
例
次の例では、 クラスの FileQueryConnectionExecute(output
) メソッドを使用して、"List.xml" ファイルに対してクエリを実行し、メモリ内に作成された XmlDocument に出力を格納します。 次に、XmlDocument に保存されている出力をフォームの QueryOutput フィールドに表示します。
public void ExecuteOutput_Clicked(object sender, ClickedEventArgs e)
{
// Create the XmlDocument to accept the query results.
XmlDocument outputFile = new XmlDocument();
outputFile.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><outputRoot></outputRoot>");
// Create XmlNamespaceManager for XmlDocument object. When
// creating a more complex document, use AddNamespace method
// to add a mapping from namespace prefix to namespace URL for
// each namespace to this object.
XmlNamespaceManager outputFileNamespaceManager =
new XmlNamespaceManager(outputFile.NameTable);
// Create an XPathNavigator positioned at the root of the
// XmlDocument output file created above.
XPathNavigator outputFileNavigator = outputFile.CreateNavigator();
XPathNavigator outputRootNavigator =
outputFileNavigator.SelectSingleNode("/outputRoot",
outputFileNamespaceManager);
// Query the XML file defined for the FileQueryConnection
// and log the results in the XmlDocument created above.
FileQueryConnection queryConnection =
(FileQueryConnection)(DataConnections["List.xml"]);
queryConnection.Execute(outputRootNavigator);
// Insert the results of the query from the XmlDocument in the
// QueryOutput field of the main data source of the form.
XPathNavigator mainNavigator = MainDataSource.CreateNavigator();
XPathNavigator queryOutputNavigator =
mainNavigator.SelectSingleNode("/my:myFields/my:QueryOutput",
NamespaceManager);
queryOutputNavigator.SetValue(outputRootNavigator.InnerXml);
}
Public Sub ExecuteOutput_Clicked(ByVal sender As Object , _
ByVal e As ClickedEventArgs)
{
' Create the XmlDocument to accept the query results.
Dim outputFile As XmlDocument = new XmlDocument()
outputFile.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><outputRoot></outputRoot>")
' Create XmlNamespaceManager for XmlDocument object. When
' creating a more complex document, use AddNamespace method
' to add a mapping from namespace prefix to namespace URL for
' each namespace to this object.
Dim outputFileNamespaceManager As XmlNamespaceManager = _
new XmlNamespaceManager(outputFile.NameTable)
' Create an XPathNavigator positioned at the root of the
' XmlDocument output file created above.
Dim outputFileNavigator As XPathNavigator = _
outputFile.CreateNavigator()
Dim outputRootNavigator As XPathNavigator =
outputFileNavigator.SelectSingleNode("/outputRoot",
outputFileNamespaceManager)
' Query the XML file defined for the FileQueryConnection
' and log the results in the XmlDocument created above.
Dim myQueryConnection As FileQueryConnection = _
DirectCast(DataConnections["List.xml"], FileQueryConnection)
myQueryConnection.Execute(outputRootNavigator);
' Insert the results of the query from the XmlDocument
' in the QueryOutput field of the main data source of the form.
Dim mainNavigator As XPathNavigator = _
MainDataSource.CreateNavigator()
Dim queryOutputNavigator As XPathNavigator =
mainNavigator.SelectSingleNode("/my:myFields/my:QueryOutput", _
NamespaceManager)
queryOutputNavigator.SetValue(outputRootNavigator.InnerXml)
End Sub
注釈
パラメーターを output
null 参照 (Visual Basic では Nothing) に設定すると、既定の Execute メソッド (基底クラスから DataConnection 継承) を使用して、フォーム テンプレートで定義されている宣言型設定を使用してデータを返すのと同じ効果があります。
このメンバは、現在開いているフォームと同じドメインで実行中のフォーム、またはクロスドメインのアクセス許可が与えられたフォームだけがアクセスできます。
この型またはメンバーには、Microsoft InfoPath Filler または Web ブラウザーで開いたフォームで実行されるコードからアクセスできます。