2011-09-16 3 views
0

XMLファイルから値を返そうとしています。ここではXMLの例です:Window 7のルートから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"を返そうとしていますが、エミュレータを実行すると何も返されません。 Video> Captionを返すようにコードを変更すると、正常に動作します。私は本当にシンプルな何かが失われているように感じる。この問題を解決するためのアイデアやコードサンプルは非常に高く評価されます。ありがとうございました。

答えて

0

xmlData<xml>要素ので、xmlData.Elements("xml")には値を返さないであろう -xmlData直下ないxml要素は存在しません。要素doesnの場合stringにキャストする代わりにValueプロパティを使用して、あなたがnull参照で終わること

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

注:あなただけ行うことができますので、それは根本だということを考えると、あなたは、一つのノードのみがあると知っています例外がスローされるのではなく、存在します。

+0

クイックレスポンスと完璧に機能しました!本当にありがとう、私はそれが私が行方不明だったことが分かっていた。 – crazymatt

関連する問題