長い文章で申し訳ありませんが、この問題は簡単には述べられません。
私は最近、jdom を使用して XML を解析および操作し、同僚のためにいくつかの SSIS パッケージを再構成するための Java を作成しました。プログラムは機能しましたが、結果のファイルがクラッシュしました。クラッシュの原因を突き止めることができたのは、元のファイルにあるほとんど印刷されない奇妙な文字でした。これは、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)" で問題が解決しましたが、変更されていない要素が変更されたパッケージに配置されると、問題が再発することが判明しました。パッケージなので、問題の根底にあるものはわかりません。
繰り返しますが、長い投稿で申し訳ありませんが、詳細を省略したくありませんでした. 洞察や提案をいただければ幸いです。私はかなり困惑しています。
私の同僚は、これらを読み込もうとしてエラーメッセージを私に送ってきます。役に立つなら投稿できます。