次のXMLファイルを逆シリアル化しています。 VSTS 2008 + C#+ .Net 3.5でXMLシリアライザを使用するXMLの逆シリアル化に失敗する
ここにXMLファイルがあります。ここで
<?xml version="1.0" encoding="utf-8"?>
<Person><Name>=b?olu</Name></Person>
ような文字を受け入れるためにいくつかの解決策がある場合は、XMLファイルのXMLファイルとバイナリ形式の表示のための画面のスナップショット、
alt text http://i25.tinypic.com/e7i844.jpg
alt text http://i25.tinypic.com/23wjnev.jpg
です、それは素晴らしいでしょう!私のXMLファイルは大きいので、そのような文字が本当に無効でフィルタリングが必要な場合は、逆シリアル化後にXMLファイルの内容を残しておきたい。
現在、XMLの逆シリアル化はInvalidOperationExceptionで失敗し、XMLファイル情報全体が失われます。
実際には、このXMLファイルをVSTSで開くと、エラー1文字 '?'のようなエラーが発生します.16進値0xffffはXMLドキュメントでは不正です。バイナリ形式では0xffff値がないので混乱しています。
すべてのソリューションやアイデアは?
EDIT1:ここでは
static void Foo()
{
XmlSerializer s = new XmlSerializer(typeof(Person));
StreamReader file = new StreamReader("bug.xml");
s.Deserialize(file);
}
public class Person
{
public string Name;
}
xmlを逆シリアル化するために使用しているコードを投稿することもできますか? –
投稿、任意のアイデアですか? :-) – George2
George、常に完全な例外を投稿してください:ex.ToString()の出力。 –