2011-10-07 40 views
0

在WP7我想解析XML標籤WP7如何解析XML?

.XML:

<top> 
<value name="Group A"> 
<team position="1" name="india" won="10" lose="5"/> 
<team position="2" name="pakistan" won="5" lose="5"/> 
</value> 

<value name="Group B"> 
<team position="1" name="Aus" won="10" lose="5"/> 
<team position="2" name="newzeland" won="5" lose="5"/> 
</value> 
</top> 

我想是這樣輸出,

Group A 

1 India 10 5 
2 pak 5 10 

Group B 

1 Aus  5 5 
2 Neszeland 5 5 

我使用解析器這樣,

list = (from story in xmlTweets.Descendants("value") 

          select new ViewModel 
          { 
           group= story.Attribute("name").Value, 

          }).ToList(); 

list1 = (from story in xmlTweets.Descendants("team") 

          select new ViewModel 
          { 
           position= story.Attribute("position").Value, 
name= story.Attribute("name").Value, 
won= story.Attribute("won").Value, 
lose= story.Attribute("lose").Value, 

          }).ToList(); 

輸出:

Group A 

Group B 

1 India 10 5 
2 pak 5 10 

1 Aus  5 5 
2 Neszeland 5 5 

請告訴我一些想法做到這一點。

謝謝。

+0

您所需的輸出看起來像您的實際輸出...有什麼不對? –

+0

@Jon,他的輸出缺少分組機制。 –

+0

@Jon分組打印列表後首先打印。我想要小組和名單。 – Jeeva

回答

3

目前你有兩個單獨的列表 - 一個用於組和一個用於團隊。它在我看來像你的視圖模型需要更豐富 - 如:

list = xml.Descendants("value") 
      .Select(group => new GroupViewModel 
      { 
       Group = (string) group.Attribute("name"), 
       Results = group.Elements("team") 
          .Select(team => new TeamViewModel 
          { 
           Position = (int) team.Attribute("position"), 
           Name = (string) team.Attribute("name"), 
           Won = (int) team.Attribute("won"), 
           Lost = (int) team.Attribute("lose") 
          }) 
          .ToList() 
      }) 
      .ToList(); 
+0

結果是什麼?它是字符串還是列表? – Jeeva

+0

@Jeeva:這是一個TeamViewModel引用列表(注意ToList方法),它應該在你的視圖模型中。你沒有說任何關於你如何顯示這些結果,這使得它很難給出任何比這更具體的...... –

+0

來了這個錯誤不能隱式轉換類型'System.Collections.Generic.List '爲'string ' – Jeeva