使用linq搜索xdocument

fra*_*ron 3 linq lambda linq-to-xml

我从字符串中得到以下xml:

<XMLClient>
  <ClientData>
   <Control type=1>BtnSave</control>
   <Control type=2>Suppliers.aspx</control>
   ...
   ...
   ...
  </clientData>
</XMLClient>
Run Code Online (Sandbox Code Playgroud)

我想要做的是使用天气记录/节点返回true或false,其中控件的type属性为2,文本等于Suppliers.aspx.

我想使用linq这个,我不知道我想我需要一些linq表达式,不太确定......

在此先感谢您的任何建议!

Bro*_*ass 6

这样的事情应该有效:

XDocument doc = XDocument.Load("test.xml");

bool nodeExists = doc.Descendants("Control")
                     .Where(x => x.Attribute("type") != null && 
                                 x.Attribute("type").Value == "2" && 
                                 x.Value == "Suppliers.aspx")
                     .Any();
Run Code Online (Sandbox Code Playgroud)