2011-08-10 8 views
0

こんにちは、私はこれで苦労しています。 Iveには、データベースにデータをインポートしたいxmlファイルを含むフォルダをループするforeachループがあります。問題は、xmlファイルにdtdがあることです。これがxmlファイルに添付されないようにするために何もできません。だから私はdtdを削除するいくつかの方法が必要です。私はGoogleと様々なフォーラムを検索し、空白になる。誰かがアイデアを持っているかどうかだけに疑問がありますか?XML SSISからDTDを削除

答えて

1

私は自分の論文でスクリプトタスクを使用して、そのファイルを開き、dtdを削除してからファイルを保存するという良い解決策を思いついた!!

public void Main() 
     { 
      try 
      { 
       XmlDocument XDoc = new XmlDocument(); 
       XDoc.Load(Dts.Variables["FileName"].Value.ToString()); 
       XmlDocumentType XDType = XDoc.DocumentType; 
       XDoc.RemoveChild(XDType); 
       XDoc.Save(Dts.Variables["FileName"].Value.ToString()); 
      } 

      catch (Exception ex) 
      { 
      } 
      Dts.TaskResult = (int)ScriptResults.Success; 
     } 
+0

空のキャッチブロックとは違いよく見えます。 – nonpoliticaltag

0

私はあなたの好みのプログラミング言語(.NET、Perlなど)でソリューションを探し、それをパッケージに組み込みます。たとえば、[プロセスの実行]タスクを使用してコマンドラインツールを呼び出すか、標準の.NET XMLサポートを使用するスクリプトタスクを使用します。

関連する問題