用代码获取SharePoint站点中InfoPath表单的数据
来源:互联网 发布:ps软件手机版 编辑:程序博客网 时间:2024/06/02 20:29
如果使用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表单的内容反序列化成了一个对象,然后直接访问这个对象的属性就行了。
总结来说,要点如下:
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表单的数据
- SharePoint Infopath表单服务-PowerShell
- 一个简单的SharePoint表单库 + InfoPath应用
- InfoPath 系列:表单数据的提交
- 用代码访问InfoPath表单内容
- 发布infopath模板到sharepoint站点(Infopath 2007)
- SharePoint 2010 - 无法发布InfoPath表单到SharePoint Library或Site Content Type的解决方案
- 如何在Infopath的浏览器表单中获取当前用户,并进行视图切换
- SharePoint向InfoPath 2007表单传递参数
- SharePoint 2013 配置InfoPath 列表表单
- SharePoint 2013 配置InfoPath 列表表单
- SharePoint&Infopath——添加Products.xml到表单作为数据连接
- 如何在InfoPath表单中引用SQL SERVER 中的数据?
- Infopath Form Service示例:如何在InfoPath表单中引用SQL SERVER 中的数据?
- [SharePoint 2010– InfoPath]通过REST Web Service在表单中嵌入地图
- SharePoint 2013 使用InfoPath 提交数据到InfoPath form Library
- infopath表单在sharepoint上的外部数据源连接不上的可能原因
- 深入浅出InfoPath——获取SharePoint群组中用户(无代码)
- 一位老工程师给年轻人的“十大忠告”
- 温水里的青蛙
- 2006年会考导引 - 综合练习 -(试卷一 试卷二 试卷三 试卷四 试卷五) 答案已经给出
- 就象一场梦
- HOW TO:获取文件扩展属性
- 用代码获取SharePoint站点中InfoPath表单的数据
- 比较低级的错误
- IIS集成验证方式下的不同验证模式
- AJax学习
- Gabbly和3Bubbles的比较
- SharePoint Portal Server 2003的两个小问题
- 创建新的区域模板的步骤
- SPS定制
- Webpart中用DataGrid绑定SQL数据