Estou trabalhando em um projeto onde eu preciso extrair anexos de um formulário do InfoPath. Existem alguns bons recursos para análise de formulários do InfoPath (que são apenas arquivos XML, Portanto, é realmente muito fácil).
Enquanto eu estava construindo o projeto, Comecei a baixar um formulário do InfoPath e salvando-o meu disco rígido local. Meu código c# estava lendo diretamente de instância. No entanto, os formulários do InfoPath são realmente vivendo dentro de uma biblioteca de formulários do SharePoint. Eu fiz um pouco meio coração pesquisa para descobrir como se lê diretamente da biblioteca e quase desisti, Nesse caso eu teria salvo o formulário para um diretório temporário local e lê-lo de lá. No entanto, Não há nenhuma necessidade de atravessar arcos como você pode lê-lo diretamente da biblioteca. Este pequeno trecho de código mostra como:
/// Coisas de definição de classe aqui, incluindo:
privada SPFile t: Microsoft.SharePoint.SPFile mySharePointFile; /* Parte de um SPList */ // Mais código vai aqui e dentro de um método da classe temos: textReader = Novo XmlTextReader(mySharePointFile.OpenBinaryStream()); textReader.WhitespaceHandling = WhitespaceHandling.Nenhum; TextReader(); // Se o nó tiver valor ao mesmo tempo (TextReader()) { |
Eles-chave bit acima é que podemos ler o InfoPath diretamente via o OpenBinaryStream() chamada de método sobre o SPFile como um parâmetro para o Construtor em XmlTextReader. Ele funciona muito bem.
</fim>
Siga-me no Twitter em http://www.twitter.com/pagalvin
Oi,
Preciso de ajuda nisso , Eu tenho o sharepoint 2007 site e infopath com uma tabela de repetição , o que preciso fazer é quando o formulário é salvo para a biblioteca de formulários do sharepoint que preciso de loop e salvar os dados em uma lista usando o manipulador de eventos da biblioteca de formulário SP.
Qualquer ajuda é muito apreciada.
Obrigado