Я был работает над проектом, где мне нужно извлекать вложения из формы InfoPath. Есть некоторые хорошие ресурсы для разбора формы InfoPath (которые являются просто XML-файлов, так что на самом деле довольно легко).
В то время как я строил проекта, Я начал загрузки формы InfoPath и сохранив его на мой локальный жесткий диск. Мой код c# чтении непосредственно из этого экземпляра. Однако, формы InfoPath действительно живут внутри в библиотеке форм SharePoint. Я сделал немного половину сердцем поиска, чтобы узнать, как читать его непосредственно из библиотеки и почти сдался, в этом случае я бы сохранить форму в локальный каталог temp и прочитать его оттуда. Однако, Существует не нужно идти через эти обручи, как вы можете прочитать его непосредственно из библиотеки. Этот маленький фрагмент показывает, как:
/// Класс определения вещи здесь, включая:
частные SPFile mySharePointFile; /* Частью SPList */ // Здесь находится более код и внутри метода класса у нас: textReader = Новые функции XmlTextReader(mySharePointFile.OpenBinaryStream()); textReader.WhitespaceHandling = WhitespaceHandling.Нет; textReader.Read(); // Если узел имеет значение во время (textReader.Read()) { |
Они основные бит выше, что мы можем читать InfoPath непосредственно через OpenBinaryStream() вызов метода на SPFile как параметр в конструктор на XmlTextReader. Он прекрасно работает.
</конец>
Следуй за мной по щебетать на http://www.twitter.com/pagalvin
Привет,
Мне нужна помощь в этом , У меня есть sharepoint 2007 сайт и infopath с повторяющейся таблицы , то, что мне нужно сделать это после того, как форма сохраняется в библиотеке форм sharepoint, нужно петли и сохранить данные в список с помощью обработчика событий библиотеки форм SP.
Любая помощь очень высоко.
Спасибо