#asp.net #sharepoint #infopath
#asp.net #sharepoint #infopath
Вопрос:
привет, мы все знаем, как работает infopath. когда мы предоставляем детали в форме infopath, данные сохраняются в виде XML-файла. И когда мы открываем его, данные из XML объединяются с дизайном формы infopath (шаблоном).
Мне нужно показать данные, которые присутствуют в XML, с помощью моей собственной разработанной (шаблонной) формы во время выполнения. Мой вопрос в том, как я могу прочитать поля, которые находятся в форме Infopath (в .xml). Тогда только я могу создать свою собственную форму во время выполнения.
Ответ №1:
я не знаю, правильно ли я понял ваш вопрос, но если вы хотите отобразить xml-данные в другой форме, вам нужно преобразовать xml или, по крайней мере, включить его в качестве источника данных в вашу собственную форму, разработанную.
Комментарии:
1. Oki. В форме infopath будет одно или несколько полей, таких как имя и текстовое поле для ввода значения. Пол и Radiobutton для установки значения, могу ли я прочитать эти поля.
Ответ №2:
public void SaveXML(string filePath, string sourceXpath)
{
XPathNavigator myRoot = MainDataSource.CreateNavigator();
XPathNavigator node = myRoot.SelectSingleNode(sourceXpath, NamespaceManager);
using (StreamWriter sw = new StreamWriter(filePath))
{
sw.Write(node.OuterXml.ToString());
sw.Flush();
sw.Close();
}
}
//usage: make sure you understand reading a bit about xpath first, and you will easily know what to put here in param2. you can right click on on any node in the datasource tree of your infopath and select "copy xpath" string to clipboard.
SaveXML(_AuditsFolder "\" fname, "/my:AuditForm/my:Audit");