用代码获取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表单的内容反序列化成了一个对象,然后直接访问这个对象的属性就行了。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
SCCM2007的部署
安装 SCCM 的要求 1. )系统需求 : 如 SCCM 站点服务器操作系统版本为 Windows Server 2003 SP1 ,则需要安装: MMC 3.0 与 .Net Framework 2.0 、 KB932303 、 MS06-030 ( 补丁) 如 SCCM 站点服务器操作系统版本为 Windows Server 2003 SP2 ,则只需要安装 .Net Framework 2.0 与 KB932303 ( 补丁) 2. )安装系统服务 Internet 信息服务 (IIS) 6.0 、后台智能传送服务 (BITS) 2.0 、万维网服务里的 WebDAV 发布与 Active server page 3. )安装 WSUS 3.0 以上的版本 4. )架构扩展 运行 SCCM 安装源文件下 SMSSETUPBINI386 EXTADSCH.EXE (对于站点服务器安装,不要求进行 Configuration Manager Active Directory 架构扩展,但是建议您这样做,以便完全支持使用 Configuration Manager 的...
- 下一篇
图解软件定义存储-百炼钢成绕指柔
新浪微博:@frankfan7 邮件:frank@GetToCloud.com 实现软件定义的数据中心,软件定义的运算、网络还有存储,一个都不能少。继图解网络虚拟化之后本文揭开软件定义存储这位神秘女郎的面纱,看看她是如何化百炼钢成绕指柔? 面临挑战 第一个挑战是设计复杂。存储一直是虚拟化架构设计中最关键的环节之一。很多性能的问题都和存储有关。虚拟化架构师需要了解很底层的存储设备及其特性,需要在IOPS,Latency和容量等各个方面优化。另外存储的分层、扩展和运维都有很多考虑的方面。 第二个挑战是费用昂贵。如果数据量很大,特别是用存储光纤网络(SAN)的情况下,那是虚拟化平台烧钱的很大一块,平庸的存储设计看起来四平八稳循规蹈矩,殊不知可能会在存储上开销很大。 机会来了 近年来存储技术的发展,本地HDD的价格相对于SAN来说要便宜很多,最大容量期望在2016年达到60TB。价格甚至可以到几分美金/GB。同时SDD的迅猛发展,很大解决了由于IOPS导致的性能问题。价格低到1美金/IOPS.那么人们有会问了,如果把本地HDD和SDD结合起来,是不是既解决了容量,又保证了性能呢? 想法是好,技...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作