2011-11-11 4 views
2

私は、SharePoint 2010のドキュメントライブラリを持っているとのInfoPath 2010フォームテンプレート(XSNファイル)を保存。プログラムでのSharePointオブジェクトモデルやINFOPATH 2010オブジェクトモデルを使用してXSNを開きます(C#コードを使用して)する方法はあります。 .XSLファイルを開き、テキストを変更してファイルを再パッケージ化したいとします。私はXSN(cabファイル)を抽出し、一時フォルダに解凍しますMicrosoft.Deployment.CompressionとMicrosoft.Deployment.compression.cabのようないくつかのアセンブリがあることを知っています。しかし、これはなど、など、いくつかの高架の許可が必要になり、プログラムで開いたInfoPathテンプレートファイル(XSN)

は、InfoPathの2010またはSharePoint 2010のオブジェクトモデルを使用してそれを行うための良い方法はあります。

+0

、このリンクを参照してくださいhttp://blog.halan.se/post/How-to-create-a-new-Form-from-Template-in-a-Form-Library-programmatically.aspx#有用である可能性がありますコメント – Amir

答えて

0

はい、あなたはこのようなOpenFileFromPackage方法でのInfoPath 2010 OM(コードは、実際のIPフォームでの分離コードであることが必要)を持つテンプレートから任意のファイルを抽出することができます。コードがかかる

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); 
    } 
} 

をあなたがより簡単に操作を行うために使用することができます(唯一のXSLファイルに使用することができます)XmlDocumentオブジェクトにパッケージ化されたファイルをロードからのストリーム。

+0

Andreasに感謝します。試してみる。 – Kannabiran

関連する問題