FileQueryConnection.Execute Метод (XPathNavigator)
Переопределяет метод по умолчанию Execute, чтобы разрешить указать другое местоположение для вставки возвращаемых данных.
Пространство имен: Microsoft.Office.InfoPath
Сборка: Microsoft.Office.InfoPath (в microsoft.office.infopath.dll)
Синтаксис
'Декларация
Public MustOverride Sub Execute ( _
output As XPathNavigator _
)
'Применение
Dim instance As FileQueryConnection
Dim output As XPathNavigator
instance.Execute(output)
public abstract void Execute (
XPathNavigator output
)
Параметры
- output
Объект XPathNavigator, который указывает узел XML в первичном или дополнительном источнике данных формы для вставки возвращенных данных. Объект XPathNavigator, переданный как параметр output, также может указывать любой XML-файл на локальном компьютере или документ XmlDocument, хранящийся в памяти, для вставки данных.
Исключения
Тип исключения | Условие |
---|---|
Не удалось завершить операцию запроса. |
|
Этому методу передан параметр . |
|
Этому методу передан недопустимый параметр . Например, неправильный тип или формат. |
Заметки
Установка для параметра output значения имеет тот же эффект, что и использование метода по умолчанию Execute (наследуемому из базового класса DataConnection) для возвращения данных с помощью декларативных параметров, определенных в шаблоне формы.
Доступ к этому члену имеется только у форм, запускаемых на том же домене, что и открытая в настоящий момент форма, или у форм, которым были присвоены междоменные разрешения.
Доступ к этому типу или члену имеется из программы, работающей в формах, открытых в Microsoft Office InfoPath 2007 или в веб-обозревателе.
Пример
В следующем примере метод Execute(output) класса FileQueryConnection используется для выполнения запроса в файл "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
См. также
Ссылка
Класс FileQueryConnection
Члены FileQueryConnection
Пространство имен Microsoft.Office.InfoPath