You don't need to cast to string in where
clause also you need to compare it against Value like
where exp.Element("Posted_Status").Value == "Ready"
Try:
var expiration =
from exp in main.Elements("Network")
where exp.Element("Posted_Status").Value.Equals("Ready", StringComparison.CurrentCulture)
select
new
{
Timed_On = exp.Element("Timed_On").Value,
Timed_Off = exp.Element("Timed_Off").Value,
};
For Ouput:
foreach (var item in expiration)
{
Console.WriteLine("Timed_On: {0} \r\nTimed_Off: {1}", item.Timed_On, item.Timed_Off );
}
(Its better if you parse the values to a propert DateTime
object)