2015-08-28 36 views
0

我正在使用xElement查询将xml文档中的数据提取到结构中。我想限制存储的数据只有当某些字段包含特定字符串的一部分时。xElement查询等效于sql如

此代码有效,但字符串必须完全匹配。

var data = from query in xmlDocFromPage.Descendants("DIRECTORY") 
        where (string)query.Element("lastNAME") == "Smith" 
        select new contactDataClass 
        { 
         lastName = (string)query.Element("lastNAME"), 
         firstName = (string)query.Element("firstNAME"), 
         middleName = (string)query.Element("middleNAME") 
        }; 

我想实现以下sql查看语句的等价物。

where (string)query.Element("lastNAME") like "%Smith%" 

可能吗?

回答

0

可以使用string.Contains方法(空检查后的情况下,该节点不存在):

where query.Element("lastNAME") != null && query.Element("lastNAME").Value.Contains("Smith")