C#Linq XML查找指定的元素

时间:2009-06-29 16:29:18

标签: 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>
 <SMS>
   <Number>"+447528349828"</Number> 
   <Date>"09/06/24</Date> 
   <Time>13:35:01"</Time> 
   <Message>"Stop"</Message> 
 </SMS>
</Database>

我希望能够指定一个数字并检查它是否存在

2 个答案:

答案 0 :(得分:9)

怎么样:

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

(有一点需要注意 - 你对XML文件中的数字进行了引号看起来有点奇怪。你必须拥有它们吗?)

答案 1 :(得分:2)

我认为应该这样做。

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