2011-09-16 39 views
0

我很難嘗試從XML文件返回值。下面是XML的例子:在Window 7 Phone上從Root返回XML數據

<xml> 
    <item1>Whatever</item1> 
    <video> 
    <caption>Video Title</caption> 
    <width>1280</width> 
    <height>720</height> 
    </video> 
    <element1>Results One</element1> 
    <element2>Results Two</element2> 
</xml> 

我打電話這樣的數據:

XElement xmlData = XElement.Parse(e.Result); 
var list = new List<VideoUrl>(); 
foreach (XElement item in xmlData.Elements("xml")) 
{ 
var element1 = item.Element("element1").Value; 
var element2 = item.Element("element2").Value; 

list.Add(new VideoUrl 
{ 
    etc... 
}); 

,然後將數據分配給一個列表框返回的值。問題是我想返回XML項目「element1」和「element2」,但是當我運行模擬器時沒有任何返回。如果我更改代碼以返回視頻>標題,它工作正常。我覺得它真的很簡單,我錯過了。任何想法或代碼示例來解決這個問題將不勝感激。先謝謝了。

回答

0
xmlData

<xml>元件,所以xmlData.Elements("xml")將不返回值 - 有直接沒有xml元件xmlData下。鑑於它的根,你知道,只有一個節點,所以你可以這樣做:

var element1 = (string) xmlData.Element("element1"); 
var element2 = (string) xmlData.Element("element2"); 

注意,通過轉換成string而不是使用Value財產,你結束了一個空引用如果元素沒有按不存在,而不是拋出異常。

+0

快速反應,工作完美!非常感謝,我知道這是我錯過的簡單的事情。 – crazymatt