代码之家  ›  专栏  ›  技术社区  ›  TonE

林的系列化。表转换为XML

  •  3
  • TonE  · 技术社区  · 16 年前

    我有一个非常简单的应用程序,它目前有一个基于单个表的Linq到Sql类。

    我该怎么做?

        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();
    

    "Token StartElement in state Epilog would result in an invalid XML document."

    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."

    1 回复  |  直到 16 年前
        1
  •  2
  •   Marc Gravell    16 年前

    XmlSerializer 与他人交往可能并不美妙。如果在数据上下文表面上启用序列化,则会添加(WCF)数据契约属性。也许只是使用:

    var data = db.MyEntitys.ToList();
    var ser = new DataContractSerializer(data.GetType());
    ser.WriteObject(dest, data);
    
    推荐文章