以编程方式打开infopath模板文件(XSN)
本文关键字:文件 XSN 编程 方式打 infopath | 更新日期: 2023-09-27 18:14:15
我在Sharepoint 2010中有一个文档库并存储了infopath 2010表单模板(XSN文件)。是否有一种方法以编程方式(使用c#代码)使用SharePoint对象模型或Infopath 2010对象模型打开XSN ?我想打开. xsl文件并更改一些文本,然后重新打包该文件。我知道有一些程序集,如Microsoft.Deployment.Compression
和Microsoft.Deployment.Compression.Cab
,将提取XSN (cab文件)并将其解压缩到临时文件夹中。但是这需要一些更高的权限等等,等等,
是否有更好的方法使用infopath 2010或sharepoint 2010对象模型
是的,您可以使用InfoPath 2010 OM从模板中提取任何文件(要求代码在实际的IP-Form中是CodeBehind),使用如下的OpenFileFromPackage方法:
public XmlDocument ExtractFromPackage(string fileName)
{
try
{
XmlDocument doc = new XmlDocument();
using (Stream stream = Template.OpenFileFromPackage(fileName))
doc.Load(stream);
return doc;
}
catch (Exception ex)
{
throw new Exception(string.Format("Error extracting '{0}': {1}",
fileName, ex.Message), ex);
}
}
代码从打包的文件中获取流并加载到XmlDocument(它只能用于XSL文件)中,然后您可以使用它更容易地进行操作。