Швидкий удар: Читання InfoPath XML безпосередньо з SPListItem в SharePoint

Я був роботи над проектом, де мені потрібно витягувати вкладення з форми InfoPath. Є деякі хороші ресурси для розбору форм InfoPath (які є лише XML-файли, так що це насправді досить легко).

Хоча я був створення проекту, Я почав, завантаживши форми InfoPath і зберігши її в мій місцевий жорсткий диск. Мій код c# читав безпосередньо з цього екземпляра. Однак, форм InfoPath дійсно живуть всередині форми бібліотеці SharePoint. Я трохи пошуку half серцем щоб дізнатися як це читати безпосередньо з бібліотеки і ледве не віддав, При цьому я б зберегти форму до локальної папки temp і читати його звідти. Однак, немає необхідності їхати через ці обручі, як ви можете прочитати його безпосередньо з бібліотеки. Цього невеликого фрагмента показує як:

/// Клас визначення речі тут, у тому числі:
приватні Файл SPFile mySharePointFile; /* Частиною SPList */
// Більше кодексу йде тут і всередині метод класу у нас:
XmlTextReader textReader;
textReader = нові XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.Жоден;

textReader.Read();

// Якщо вузол має значення

під час (textReader.Read())
{

.. і т. д і т. д...

Вони ключові трохи вище є, що ми можемо прочитати InfoPath безпосередньо через на OpenBinaryStream() метод закликати на файл SPFile як параметр в конструктор на XmlTextReader. Він чудово працює.

</кінець>

Підписатися на мій блог.

Йди за мною на Twitter в http://www.twitter.com/pagalvin

Бірки Technorati:

Одна думка про «Швидкий удар: Читання InfoPath XML безпосередньо з SPListItem в SharePoint

  1. nesreen

    Привіт,
    Мені потрібна допомога в цьому , У мене є sharepoint 2007 сайт і з повторюваній таблиці infopath , те, що мені потрібно, щоб зробити це, як тільки форма буде збережено до форм бібліотеки sharepoint, що я повинен цикл і зберегти дані до списку за допомогою SP форм бібліотеки обробника подій.

    Будь-яка допомога буде дуже цінна.

    Дякую

Дати відповідь

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *