ラムダ式の下に記述して、一致する appguid をチェックし、何も見つからない場合は代わりにハードコードされた guid を探すにはどうすればよいですか?
public static string ActiveDirectory(string xmlPath, string applicationGUID,string Element)
{
XDocument dbConfig = XDocument.Load(xmlPath);
return (dbConfig
.Descendants("Zone")
.Where(a =>
{
XElement ag = a.Element("ApplicationGUID");
return ag != null &&
(ag.Value == applicationGUID || ag.Value == "3773e594efga42688cd5113cf316d4d3");
})
.Select(
a =>
{
XElement cs = a.Element(Element);
return cs == null
? null
: cs.Value;
})
.SingleOrDefault());
}
これは私のxmlがどのように見えるかです
<Zone>
<ApplicationGUID>69b150127e7d43efa0e3e896b94953de</ApplicationGUID>
<isActiveDirectory>true</isActiveDirectory>
<ActiveDirectoryPath>LDAP://test.org</ActiveDirectoryPath>
<DomainName>test1</DomainName>
</Zone>
<Zone>
<ApplicationGUID>3773e594efga42688cd5113cf316d4d3</ApplicationGUID>
<!--Default App guid-->
<isActiveDirectory>true</isActiveDirectory>
<ActiveDirectoryPath>LDAP://test.org</ActiveDirectoryPath>
<DomainName>test2</DomainName>
</Zone>
</Zones>