无法正确解析XElement的XML

时间:2013-07-13 22:05:39

标签: windows-phone-7

我正在麻烦地解析NASA RSS提要的解析。我已经研究了所有可能的东西,而且似乎有一部分我缺失了,或者就我现在知道的所有部分而言可能更多。但是我只在VS中遇到一个错误而且我已经尝试了所有的东西。提前感谢您的帮助。

private void UpdateFeedList(string feedXML)
    {


        StringReader stringReader = new StringReader(feedXML);
        XmlReader xmlReader = XmlReader.Create(stringReader);
        XElement XDocument = XElement.Load(xmlReader);

        Deployment.Current.Dispatcher.BeginInvoke(() =>
        {
            listBox.ItemsSource = XDocument.Items;
        });
    }

我目前在VS中遇到的错误是在最后一行'.items'。 VS告诉我XElement不包含Items的定义。

1 个答案:

答案 0 :(得分:0)

  

VS告诉我XElement不包含Items的定义。

这是绝对正确的 - 见the documentation。目前还不清楚你期望做什么,但你需要从XElement中提取相关信息,例如

Deployment.Current.Dispatcher.BeginInvoke(() =>
{
    listBox.ItemsSource = XDocument.Elements("SomeElementName");
});

顺便说一句,使用变量名XDocument已经足够糟糕了,但是当它甚至不是变量的类型时,它就是可怕的想法。这就像声明:

int String = 10; // Just don't do it!

此外,您的前三行可以大大简化:

XElement element = XElement.Parse(feedXml);

但是你真的需要考虑你想要的物品集合实际上是什么......也许你想将Feed转换成你自己创建的某种类型的对象集合?