2011-10-30 13 views
1

モデルステートをxml文字列にシリアル化しようとしています。最初に私はモデルステート辞書を作成し、この辞書を直列化しようとします。これは私が使用するコードです:ModelstateをXMLにシリアル化するasp.net mvc

ModelStateDictionary dict = new ModelStateDictionary(); 
      dict.Merge(ModelState); 
      XmlSerializer serializer = new XmlSerializer(dict.GetType()); 

      using (StringWriter writer = new StringWriter()){ 
       serializer.Serialize(writer, dict); 

       var r2 = writer.ToString(); 

      } 

r2が作成されますが、すべてのタグは\ r \ nで埋められています。私は間違って何をしていますか?

答えて

0

あなたはしたXmlWriterを使用して、空白とインデントを保持しない設定で指定することができます。

XmlSerializer serializer = new XmlSerializer(dict.GetType()); 
var settings = new XmlWriterSettings { Indent = false }; 
using (var stream = new MemoryStream()) 
using (var writer = XmlWriter.Create(stream, settings)) 
{ 
    serializer.Serialize(writer, dict); 
    string r2 = Encoding.UTF8.GetString(stream.ToArray()); 
} 
+0

これは確かに/ R/Nのタグを取り除き。私の問題(そして多分それを正しく指定しなかったのは、modelstatedictionaryオブジェクトの値がxmlに値がないにもかかわらずです) – Patrick

+0

シリアライザがKVPをシリアル化できないという問題があります。 。 – Patrick

関連する問題