C# を使用すると、XmlDocument.Load は次の例外をスローします:「16 進値 0x3C は無効な属性文字です」。
私を混乱させているのは、開発中に機能することです。リモート サーバーと自分の開発環境でどのような違いを探す必要がありますか?
C# を使用すると、XmlDocument.Load は次の例外をスローします:「16 進値 0x3C は無効な属性文字です」。
私を混乱させているのは、開発中に機能することです。リモート サーバーと自分の開発環境でどのような違いを探す必要がありますか?
最初に確認することは、まったく同じバージョンの .NET を実行しているかどうかです。サーバーが 2.0 SP1 を実行していて、「devenv」が VS2008 SP1 (つまり .NET 3.5 SP1) である場合、それらは100 % 同じではなく、2.0 dll (つまり、サービスパックで修正/変更されたもの)。
次に確認したいのは、同じ入力データを処理しているかどうかです。
3 番目に注目したいのは「文化」です。開発マシンはフランス語に設定されており、サーバーはロシア語に設定されていますか? (か何か)。この場合はありそうにありませんが、一般的なケースでは、異なるカルチャとデフォルトのエンコーディング/コードセットが違いを生む可能性があります。
私にはデータの問題のように見えます。具体的には、ファイルにエスケープされていない < があること
< は次のようにエスケープできます。<
奇妙なのは、解析しようとしているコンテンツがエラーの原因であるということです。つまり、ローカルの開発/テスト データがライブ データと同じではなく、問題の原因となっているライブデータです。
アプリのローカル インスタンスを介してライブ システムで問題の原因となっているデータを正確に実行する必要があります。それでもエラーが発生しない場合は、次の質問は 2 つの違いについてです。