Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Linq XDocument重构XML?_Xml_Linq_Linq To Xml - Fatal编程技术网

如何使用Linq XDocument重构XML?

如何使用Linq XDocument重构XML?,xml,linq,linq-to-xml,Xml,Linq,Linq To Xml,我需要重组XML的负载。最好的做法是使用XDocument实现Linq。。但我欢迎你提出任何建议。非常感谢 我画了一幅画。。我希望这足以解释我想做什么 听起来你想要: var original = XDocument.Load(...); var replacement = new XDocument( new XElement("root", original.Descendants("Song") .GroupBy(x => (s

我需要重组XML的负载。最好的做法是使用XDocument实现Linq。。但我欢迎你提出任何建议。非常感谢

我画了一幅画。。我希望这足以解释我想做什么

听起来你想要:

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)));

太棒了,这正是我想做的Jon。。万分感谢济宗。。。我在这里请求你的帮助。。我真的需要它。。我试着自己做了一个星期,但是做不到。。谢谢你上次的帮助,我需要换一下。。我可以用@LaurenceNyein来代替吗?如果你把这个问题作为一个单独的问题来问,会更清楚,包括你已经尝试了什么,你正在努力实现什么等等。谢谢John。。我问了一个新帖子,有人刚刚回复了。。而且成功了。。天气真好!这是邮局。。如果你想查。。