C# 将重复的数据表记录合并到XML文档中
我有一个带有类别/子类别记录的数据表,格式如下:C# 将重复的数据表记录合并到XML文档中,c#,asp.net,xml,datatable,hierarchy,C#,Asp.net,Xml,Datatable,Hierarchy,我有一个带有类别/子类别记录的数据表,格式如下: hierarchy id1 cat1 id2 cat2 id3 cat3 4 3105 Mens 3195 Shorts 3130 Shorts 4 3105 Mens 3195 Shorts 3196 Swim Shorts 4 3105 Mens 3177 Knitwear 31
hierarchy id1 cat1 id2 cat2 id3 cat3
4 3105 Mens 3195 Shorts 3130 Shorts
4 3105 Mens 3195 Shorts 3196 Swim Shorts
4 3105 Mens 3177 Knitwear 3118 Jumpers
4 3105 Mens 3177 Knitwear 3178 Cardigans
4 3105 Mens 3177 Knitwear 3814 V-Neck Knitwear
我正在尝试将其转换为如下格式的xml:
<CATEGORY NAME="mens">
<CATEGORIES NAME="Shorts" />
<CATEGORIES NAME="Shorts" />
<CATEGORIES NAME="SwimShorts" />
<CATEGORIES NAME="Knitwear" />
<CATEGORIES NAME="Jumpers" />
<CATEGORIES NAME="Cardigans" />
<CATEGORIES NAME="V-Neck Knitwear" />
我对我使用什么技术来产生结果并不挑剔。像这样的东西怎么样
var X = from item in Data
group item by item.cat1 into g
select new XElement(
"CATEGORY",
new XAttribute("NAME", g.Key),
from it in g
group it by it.cat2 into k
select new XElement("CATEGORIES2", new XAttribute("NAME", k.Key),
from i in k.Select(x=>x.cat3).Distinct()
select new XElement("CATEGORIES3", new XAttribute("NAME",i))
)
);
var e = new XElement("CATEGORY", new XAttribute("ID", item["did1"]), new XAttribute("NAME", item["name1"]),
item["did2"].ToString() != "" ? new XElement("CATEGORIES", new XAttribute("ID", item["did2"]), new XAttribute("NAME", item["name2"])) : null,
item["did3"].ToString() != "" ? new XElement("CATEGORIES", new XAttribute("ID", item["did3"]), new XAttribute("NAME", item["name3"])) : null,
item["did4"].ToString() != "" ? new XElement("CATEGORIES", new XAttribute("ID", item["did4"]), new XAttribute("NAME", item["name4"])) : null
);
var X = from item in Data
group item by item.cat1 into g
select new XElement(
"CATEGORY",
new XAttribute("NAME", g.Key),
from it in g
group it by it.cat2 into k
select new XElement("CATEGORIES2", new XAttribute("NAME", k.Key),
from i in k.Select(x=>x.cat3).Distinct()
select new XElement("CATEGORIES3", new XAttribute("NAME",i))
)
);