C#Linq XML查找指定元素

C#Linq XML查找指定元素,c#,xml,linq,C#,Xml,Linq,有人能举个例子说明如何使用linq检查xml文件中是否存在元素吗 以下是xml文档: <Database> <SMS> <Number>"+447528349828"</Number> <Date>"09/06/24</Date> <Time>13:35:01"</Time> <Message>"Stop"</Message> </SMS

有人能举个例子说明如何使用linq检查xml文件中是否存在元素吗

以下是xml文档:

<Database>
 <SMS>
   <Number>"+447528349828"</Number> 
   <Date>"09/06/24</Date> 
   <Time>13:35:01"</Time> 
   <Message>"Stop"</Message> 
</SMS>
 <SMS>
   <Number>"+447528349828"</Number> 
   <Date>"09/06/24</Date> 
   <Time>13:35:01"</Time> 
   <Message>"Stop"</Message> 
 </SMS>
</Database>

"+447528349828" 
"09/06/24 
13:35:01" 
“停下来”
"+447528349828" 
"09/06/24 
13:35:01" 
“停下来”
我希望能够指定一个数字并检查它是否存在

如何:

public static bool HasNumber(XDocument doc, string number)
{
    return doc.Descendants("Number")
              .Any(element => element.Value == number);
}

(需要注意的一点是,XML文件中的数字周围有引号,这看起来有点奇怪。你一定要有引号吗?

我认为应该这样做

var exists = xml.Descendants("Number")
                .Any(e => String.Equals(
                   (string)e, 
                   number, 
                   StringComparison.OrdinalIgnoreCase))

更奇怪的是,日期有一个开始的引号,时间有一个结束的引号