2012-01-31 56 views
3

我一直使用簡單的xml結構和簡單的xaml綁定。現在我在嘗試一些複雜的東西時感到有點困惑。我正在閱讀這個WP7 How to parse the XML?問題及其答案,但我無法理解顯示數據部分。WP7 - 解析XML數據

我有這樣類似的XML數據:

<?xml version="1.0"?> 
<top> 
    <value name="Finals"> 
     <country home="sweden" away="italy" venue="aaa"/> 
    </value> 
    <value name="Semi-finals"> 
     <country home="Germany" away="sweden" venue="ccc"/> 
     <country home="france" away="italy" venue="ddd"/> 
    </value> 
</top> 

而結果我希望看到的是:

Finals 
- Sweden - Italy in AAA 

Semi-finals 
- Germany - France in ccc 
- France - Sweden in ddd 

有沒有辦法用XAML綁定的東西做到這一點。如果你有任何有關WP7教程的鏈接,我將不勝感激。

回答

1

WPF有一個XML綁定API,但WP7的Silverlight沒有。我會用Linq到XML來創建你之後的字符串。

像這樣的東西應該工作...

NL = System.Environment.NewLine; 

doc = XDocument.Parse(xml); 
StringBuilder output = new StringBuilder(); 

var rounds = doc.Descendants("value"); 
foreach(XElement round in rounds) 
{ 
    builder.Append(round.Attribute("value").Value + NL); 
    foreach(XElement country in round.Elements()) 
    { 
    builder.Append(country.Attribute("home").Value); 
    builder.Append(" - "); 
    builder.Append(country.Attribute("away").Value); 
    builder.Append(" in "); 
    builder.Append(country.Attribute("venue").Value); 
    builder.Append(NL); 
    } 
} 

有關詳細信息,請參閱MSDN documentation for Linq to XML

+0

現在我看得更清楚了。謝謝科林 – FrankCap 2012-01-31 09:56:49