我需要重组xmls的负载。更喜欢做的事情是Linq with XDocument ..但我欢迎你提出任何建议。非常感谢。
我抓了一张照片..我希望这足以解释我想做什么。
答案 0 :(得分:1)
听起来像你想要的那样:
var original = XDocument.Load(...);
var replacement = new XDocument(
new XElement("root",
original.Descendants("Song")
.GroupBy(x => (string) x.Attribute("artist"))
.Select((songsForArtist, index) => new XElement("artist",
new XAttribute("id", index + 1),
new XAttribute("name", songsForArtist.Key),
songsForArtist)));