Reputation: 1105
If myVariable = "Element"
then give me the attribute inside that element.
XML:
<Products>
<Equity>
<servers>
<serverEQ>server1</serverEQ>
<serverEQ>server2</serverEQ>
<serverEQ>server3</serverEQ>
</servers>
<sitesE>
<sitesEQ sitePathEQ="\Logs\W3SVC1"><nameEQ>SystemAdmin Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC3"><nameEQ>Direct Access Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC4"><nameEQ>Redirect Site</nameEQ></sitesEQ>
<sitesEQ sitePathEQ="\Logs\W3SVC5"><nameEQ>Download Site</nameEQ></sitesEQ>
</sitesE>
</Equity>
.
.
.
</Products>
For example: If myVariable = "Direct Access Site"
give me \Logs\W3SVC3
as my output.
Upvotes: 0
Views: 83
Reputation: 32481
Not clear what exactly you want but this may helps:
var myVariable = "Direct Access Site";
XDocument doc = XDocument.Load(your file);
var result = doc.Descendants("sitesEQ")
.Where(i => i.Element("nameEQ").Value == myVariable )
.Select(i => i.Attribute("sitePathEQ").Value);
foreach (string item in result)
{
Console.WriteLine(item);
}
Upvotes: 3