在c#中从父子表创建XML的最快方法?

时间:2010-04-05 09:09:34

标签: c# xml datatable parent-child

假设我们有一些带有ChildID,ParentID和Title的DataTable或IEnumerable。 我们需要将它序列化为XML,如

<Entity title="">
   <Entity title=""></Entity>
   <Entity title=""></Entity>
</Entity> 

正如我发现的那样,标准的DataTable.GetXML()会返回不同的东西。我考虑初始化类树,如实体e =新实体(ID,标题,ParentEntityID),然后序列化它。表格大约是&gt; 3000元。有更快的方法吗?

1 个答案:

答案 0 :(得分:1)

使用Linq to SQL选择Linq to XML

var document = new XDocument( 
   (
    from f in db.FirstTable
    select new XElement("Entity", 
                new XAttribute("title", f.TitleField),
                (            
                  from s in f.SecondTable
                  select new XElement("Entity",
                            new XAttribute("title", f.TitleField),
                            new XAttribute("Entity", f.SomeField)
                  )
                ).ToArray()
           )
   ).ToArray()
);

XElement构造函数以及XDocument的接受数组或内容,这就是.ToArray()

的原因。