0

我需要重组大量的 xml。更喜欢的做法是 Linq with XDocument .. 但我欢迎您提出任何建议。非常感谢。

我抓了一张照片..我希望这足以解释我想要做什么。

在此处输入图像描述

4

1 回答 1

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)));
于 2012-04-27T16:03:12.610 回答