用代码获取SharePoint站点中InfoPath表单的数据

转载 2006年06月10日 22:24:00
如果使用InfoPath作为企业流程数据输入客户端,那么如何使用代码访问保存于SharePoint表单库中的InfoPath表单的内容,是必需知道的。

总结来说,要点如下:

1、获取InfoPath表单所对应的SPFile对象。这个不再详述,不管是表单库的事件处理代码,抑或外部的应用程序,都需要首先得到代表InfoPath表单的SPFile对象。

2、将InfoPath表单的所有内容读入一个Stream中:
Stream stream= new MemoryStream(file.OpenBinary());

3、通过XML接口访问表单数据。通过一个Reader把Stream里面的内容以文本的形式读出来,就得到了包含了表单所有数据的XML文档的字符串表示形式。通过XmlDocument、XPath等接口,都能一步步的检索到自己需要的信息。

4、如果你实在讨厌通过XML接口去和一堆XML数据打交道,那么就用下面这个更加OO的办法。
首先,把InfoPath的原始.xsn文件解压开,把里面描述表单数据架构的.xsd文件找到,然后通过.Net Framework带的xsd.exe命令行工具,通过这个.xsd文件得到一个proxy类,然后在项目中使用这个类。比如一个工作单表单,我们得到了一个WorkItem类:
WorkItem workItem = new XmlSerializer(typeof(WorkItem)).Deserialize(stream) as WorkItem;
就把InfoPath表单的内容反序列化成了一个对象,然后直接访问这个对象的属性就行了。

一个简单的SharePoint表单库 + InfoPath应用

Csdn dotnet blog 专家群  Kaneboy这阵子,我和另外几位同事一起,在准备我们部门新的门户站点,当然,我们使用的是SharePoint Portal Server 2003,因为感...
  • dotnetgroup
  • dotnetgroup
  • 2005年11月15日 15:01
  • 2585

InfoPath与SharePoint之(四)发布Form 到Form Library

除了把Infopath表单发布到List里,还可以发布到Form Library里。区别呢,就是在List里面的infopath是一个条目,而在Form Library里面的是一个XML 文件。...
  • SPFarm
  • SPFarm
  • 2015年02月16日 11:57
  • 1356

利用Sharepoint+infopath+Sharepoint Designer课程已经录制完成,谢谢大家关注!

欢迎大家关注,后期会开讲利用sharepoint和Infopath Designer结合Sharepoint Designer进行 轻量型企业应用开发课程,课程内容会同步在博客中分享。到时候希望大家支...
  • fogyisland2000
  • fogyisland2000
  • 2016年04月08日 10:05
  • 3397

InfoPath与SharePoint之(五)发布InfoPath表单到Content Type

不管是在List里定制化表单,还是发布表单到Library,都有一个缺陷,就是不能被其他的List/Library重复使用。因此SharePoint提供了一个功能,可以把表单发布成Content Ty...
  • SPFarm
  • SPFarm
  • 2015年02月16日 14:04
  • 1395

InfoPath与SharePoint之(二) 用InfoPath定制化SharePoint List

SharePoint自带的新建和编辑条目页面,只是把所有的属性一字列开,并且想修改起来很困难。这个时候,可以使用InfoPath来定制化条目的页面,这样就很简单了。...
  • SPFarm
  • SPFarm
  • 2015年02月12日 15:02
  • 1253

InfoPath与SharePoint之(八)发布InfoPath到Central Administration-部署到SharePoint

在上一篇中,说到了如何制作一个能够发布到SharePoint CA中的full trust 的InfoPath template。这一篇继续说,如何发布到SharePoint 中并激活。 把这个x...
  • SPFarm
  • SPFarm
  • 2015年03月06日 10:11
  • 961

Sharepoint构建轻量型应用之InfoPath的简单应用案例!

1.   很遗憾,在office 2016 版本中已经将表单功能移除,office 2013 版本已经成了infopath 绝唱,所以我们必须安装office 2013 版本的office Profe...
  • fogyisland2000
  • fogyisland2000
  • 2016年04月13日 00:14
  • 11125

发布infopath模板到sharepoint站点(Infopath 2007)

转自:http://www.cnblogs.com/xknight/archive/2008/06/03/1213122.html   大家都知道Infopath是强大的电子表单制作工具,方便的控...
  • lance_lot1
  • lance_lot1
  • 2012年10月22日 14:07
  • 750

结合Sharepoint 2010 和Designer 及Infopath 实现快速招聘系统搭建!-InfoPath 定制表单!

一般企业希望实现人员的招聘管理,可以说是一个复杂的系统,又不算特别复杂的系统。但是这个系统用开发实现又需要花一定的人工天。而且开发部门也不愿意花很多的时间去投入开发这么一套系统。很可能这项目就不了了之...
  • fogyisland2000
  • fogyisland2000
  • 2012年10月27日 13:47
  • 4967

InfoPath与SharePoint之(三) 在InfoPath中实现联动下拉菜单

在InfoPath中实现联动的下拉菜单是一种比较常见的需求。这里通过演示如何选择省份和城市,讲解一下如何实现联动下拉菜单。...
  • SPFarm
  • SPFarm
  • 2015年02月13日 11:36
  • 2087
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用代码获取SharePoint站点中InfoPath表单的数据
举报原因:
原因补充:

(最多只允许输入30个字)