1

データテーブルがあり、xml を構築したい。私はここまでたどり着くことができます...助けが必要です。

データ表

factory,  item
---------------
1,  123
1,  345
2,  999

xmlは次のようになります

<test>
 <factory>1</factory>
 <items>
   <item>123</item>
    <item>345</item>
 </items>
</test>

IEnumerable<XElement> files = from f in dt.AsEnumerable() 
                 select new XElement("test", 
                     new XElement("factory", f["factory"]), 
                     new XElement("item", new XElement("item",f["item"])));

上記のクエリはフラットな xml を提供します

<test>
 <factory>1</factory>
 <items>
   <item>123</item>   
 </items>
</test>
<test>
 <factory>1</factory>
 <items>
   <item>345</item>   
 </items>
</test>
4

1 に答える 1

0

XElementこれはではなく を返しますIEnumerable<XElement>(これは 1 つだけが必要な場合のロジックです<test>

var result= new XElement("test", dt
                                 .AsEnumerable()
                                 .GroupBy(m => m["factory"])
                                 .Select(f =>
                                        new XElement("factory",
                                            f.Key,
                                            new XElement("items", f.Select(g =>  
                                                new XElement("item", g["item"]))))));
于 2012-06-22T20:24:35.010 に答える