2012-04-27 83 views
0

我需要重新構造xml的負載。更喜歡的做法是用XDocument的Linq ..但我歡迎你有任何建議。非常感謝。如何用Linq XDocument重構Xmls?

我抓了一張照片..我希望這足以解釋我想要做什麼。

enter image description here

回答

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

輝煌,這正是我試圖做喬恩..謝謝百萬..:d – lawphotog 2012-04-28 08:22:07

+0

喬恩嗨...我在這裏請求你一點幫助..我真的需要它..我試圖自己做一個星期,但不能這樣做..感謝您的幫助上次,我需要一個改變它。 。而不是<歌曲標題=「...」藝術家=「...」專輯=「..」>我可以有<歌曲標題=「..」artistID =「1」album =「..」.. ...歌曲中的artistsID將在中體現非常感謝喬恩,我希望你能看到我的評論,並會幫助我。 – lawphotog 2012-05-08 10:16:53

+0

@LaurenceNyein:如果你問這是一個單獨的問題,包括你已經嘗試過什麼,你試圖實現什麼等,這將是更清楚。 – 2012-05-08 10:35:46