質問

I文字列型の複数のプロパティを含むクラス。値の1つに16進値96の文字が含まれています。クラスをxmlにシリアル化すると、xmlシリアライザーはその文字をエンコードせず、OpenXMLを使用するIEやSQLServerなどのさまざまなツールでxmlを表示すると、文字はxmlドキュメントでは無効です。 xmlシリアライザーはこの文字をエンコードするべきではありませんか?

役に立ちましたか?

解決 2

エンコーディングをiso-8859-1に変更することでエラーを回避できました。私の場合、そのコードページには、データが消費したすべての文字が含まれていました。理論的には、データに他の文字を含めることは可能かもしれませんが、これは適切な回避策です。

他のヒント

これは役立つ場合があります(警告-検索エンジンで発見、未テスト):。NET WebサービスがUnicode制御文字で失敗する

基本的に、XmlSerializerはUnicode制御文字の逆シリアル化に失敗すると言います。

コメントでは、ポスターの1つが 16進値0xは無効な文字です。 0x96はリストされていないため、これが同じ問題であるかどうかはわかりません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top