select only one random node from linq to xml

L-Sama

New Member
I have an XML file and I want to select only one random node. It seems like I'm almost there but the foreach with the var is looping. How do I select only one node and return it?XML:\[code\]<human_check> <qa> <q>2 + 2</q> <a>4</a> </qa> <qa> <q>1 + 2</q> <a>3</a> </qa> <qa> <q>6 + 3</q> <a>9</a> </qa> <qa> <q>3 + 5</q> <a>7</a> </qa></human_check>\[/code\]C#\[code\]public class human_check{ public static string get_q() { try { string h = string.Empty; Random rnd = new Random(); XDocument questions = XDocument.Load(@"C:\Users\PETERS\Desktop\human_check.xml"); var random_q = from q in questions.Descendants("qa") select new { question = q.Descendants("q").OrderBy(r => rnd.Next()).First().Value }; foreach (var rq in random_q) { h = rq.question.ToString(); } return h; } catch (Exception ex) { throw ex; } }}\[/code\]Thanks in advance,EP
 
Back
Top