Ok, so I've got this code and it works great with the fact that it does exactly what I want, except for the fact that it'll only work with one node then move where I need it to work with one node then run the check again for any nodes after that one that have the same value in an attribute. The idea behind this is:

the ListItem has an attribute with a program location and what time to start/end the specified program.

Any idea what direction I need to go for this to work through the full document?

vb Code:
  1. Dim iTime As String = hours & ":" & minutes & ap
  2.  
  3.         Try
  4.             Dim xml As XDocument = XDocument.Load(xmlDatabase)
  5.  
  6.             Dim e = From element
  7.                 In xml.Root.Elements("ListItem")
  8.                 Where (element.Attribute("StartTime").Value = iTime)
  9.                 Select element
  10.  
  11.             Dim ex As XAttribute = e.Attributes.ElementAt(2)
  12.             Dim sTime As String = ex.Value
  13.             If iTime.Equals(sTime) Then
  14.                 Dim ax As XAttribute = e.Attributes.ElementAt(1)
  15.                 Process.Start(ax.Value)
  16.             End If
  17.         Catch
  18.         End Try