XML LINQ:如何在何处使用select?

XML LINQ:如何在何处使用select?,xml,linq,select,where,Xml,Linq,Select,Where,我有一个带有产品名称和产品价格的XML目录 我使用以下代码成功地从目录中选择了所有项目: var products = xElem.Descendants("catalog") .Select(x => new { ProductPrice= x.Element("Price").Value, ProductName = x.Element("Name").Value

我有一个带有产品名称和产品价格的XML目录

我使用以下代码成功地从目录中选择了所有项目:

  var products = xElem.Descendants("catalog")
            .Select(x => new
            {
                ProductPrice= x.Element("Price").Value,
                ProductName = x.Element("Name").Value
            });
如何修改上述代码以仅选择名称包含“abc”和“xyz”的项目? 在SQL中,我会使用WHERE和LIKE,这里,我想用LINQ来实现这一点。 谢谢

更多信息

实际上,我希望用户能够灵活地查询。因此,如果用户键入“red shirt cotton”,那么我将显示所有包含这三个术语的项目:“red”、“shirt”和“cotton”。“where”术语的数量不是固定的

var products = from d in xElem.Descendants("catalog")
               where d.Element("Name").Value.Contains("abc")
                  || d.Element("Name").Value.Contains("xyz")
               select new { Name  = d.Element("Name") .Value, 
                            Price = d.Element("Price").Value
                          }
;