C# 使用LINQforXML中的where子句选择多个子项

C# 使用LINQforXML中的where子句选择多个子项,c#,linq-to-xml,C#,Linq To Xml,我有一点XML <status complete="false"> <messages> <message>Message 1</message> <message>Message 2</message> <message>Message 3</message> </messages> </status> 请任何一个.NET忍者告诉我我犯了什么

我有一点XML

<status complete="false">
  <messages>
    <message>Message 1</message>
    <message>Message 2</message>
    <message>Message 3</message>
  </messages>
</status>
请任何一个.NET忍者告诉我我犯了什么样的noobie错误。任何帮助都将不胜感激

干杯


路易斯

我想这会奏效的

var feeds = from feed in xmlDoc.Descendants("message")
            where feed.IsEmpty == false
            select feed;

您的查询太复杂,请尝试以下操作:

var feeds = from feed in doc.Descendants("message")
select new
{
  Message = feed.Value
};

您的XML文档是否包含名称空间?这也很好,看起来比上面的Ace更简单。谢谢
var feeds = from feed in xmlDoc.Descendants("messages")
            where (feed.Element("message") != null)
            select new
            {
                Message = feed.Element("message").Value
            };

foreach (var feed in feeds)
{
    Debug.WriteLine("Found a message");
}
var feeds = from feed in xmlDoc.Descendants("message")
            where feed.IsEmpty == false
            select feed;
var feeds = from feed in doc.Descendants("message")
select new
{
  Message = feed.Value
};