Ssis 从XML SSI中删除DTD
大家好,我正在为这件事挣扎。我有一个foreach循环,它将在一个包含xml文件的文件夹上循环,我想将这些文件中的数据导入数据库。问题是xml文件有dtd,我无法阻止它附加到xml文件。所以我需要一些方法来移除dtd。我搜索了谷歌和各种论坛,结果一无所获。只是想知道是否有人有什么想法?我会用您喜欢的编程或脚本语言(.NET、Perl等)寻找解决方案,然后将其合并到包中。例如,使用执行过程任务调用命令行工具,或使用标准.NET XML支持的脚本任务。我想出了一个很好的解决方案,在我的ssis中使用脚本任务,打开文件,删除dtd,然后保存文件Ssis 从XML SSI中删除DTD,ssis,dtd,Ssis,Dtd,大家好,我正在为这件事挣扎。我有一个foreach循环,它将在一个包含xml文件的文件夹上循环,我想将这些文件中的数据导入数据库。问题是xml文件有dtd,我无法阻止它附加到xml文件。所以我需要一些方法来移除dtd。我搜索了谷歌和各种论坛,结果一无所获。只是想知道是否有人有什么想法?我会用您喜欢的编程或脚本语言(.NET、Perl等)寻找解决方案,然后将其合并到包中。例如,使用执行过程任务调用命令行工具,或使用标准.NET XML支持的脚本任务。我想出了一个很好的解决方案,在我的ssis中使用
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;
}