我为这篇长文道歉,但这个问题并不容易说明。
我最近写了一段 Java 为同事重新配置一些 SSIS 包,使用 jdom 来解析和操作 XML。该程序有效,但生成的文件崩溃了。我们能够将崩溃追溯到原始文件中的一个奇怪的大部分非打印字符,该字符在 jdom 编写的文件中没有重现。
这个角色的奇怪之处在于它并没有出现在所有编辑器中。例如,Oxygen XML 编辑器甚至看不到它。但是,在记事本中,原始版权声明如下所示:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
以及相同元素的转换版本:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
(问题字符是版权符号之前的 Â)
在有问题的包上运行全局替换,其中 Â -> "" 和 © -> "(c)",使问题消失,但现在事实证明,当未修改的元素放入已修改的元素时,问题又出现了包,所以现在我不确定问题的根源是什么。
再次,我很抱歉这篇长文,但我不想遗漏任何细节。任何见解或建议将不胜感激;我很困惑。
我的同事会在尝试加载这些内容时向我发送错误消息,如果它们有用,我可以发布它们。