私は現在、単一のテーブルに基づいて単一のLinq to Sqlクラスを持っている非常に単純なアプリケーションを持っています。Linq.Table to XML
Linq To SqlクラスのDataContextを使用して、テーブル内のすべての行をシリアル化する必要があります。
これを行うにはどうすればよいですか?
これは私の現在のコードです: "Token StartElement in state Epilog would result in an invalid XML document."
私も試してみました:それは次の例外スローしかし
var db = new MyEntityDataContext();
Stream fs = new FileStream("Output.xml", FileMode.Create);
XmlWriter writer = new XmlTextWriter(fs, Encoding.Unicode);
serializer = new XmlSerializer(typeof(MyEntity));
foreach (var row in db.MyEntitys)
{
// Serialize object to XML
serializer.Serialize(writer,row);
}
writer.Close();
XmlSerializer serializer2 = new XmlSerializer(db.MyEntitys.GetType());
をこれは "To be XML serializable, types which inherit from IEnumerable must have an implementation of Add(System.Object) at all levels of their inheritance hierarchy."
例外がスローされます。
Linq.TableのToList()を使用すると、トリックが実行され、DataContractSerializerまたはXmlSerializerを使用して動作するようになりました。それを自分で試してみましたか?ありがとう。 結果のXmlファイル、特にルート要素で要素名を調整する簡単な方法はありますか? –
TonE
私は告白します、私は試してみる必要はありませんでした...私は分かりません。 XmlSerializerでは、おそらく属性定義を受け入れるオーバーロードの1つですか? –
これは、 'XmlSerializer(Type型、XmlRootAttributeルート);で指定できます。 もう一度お世話になります。 – TonE