我有一个数据表,我想构建一个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>
答案 0 :(得分:0)
这会返回一个XElement
,而不是一个IEnumerable<XElement>
(如果您只想要一个<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"]))))));