Tengo un par de dudas, en referente a XML, las cuales espero qeu puedan ayudarme a resolverlas.

1-.
¿Alguien tiene algún ejemplo de como usar XQuery en VB.NET?
2-.
Hice una clase para poder editar el archivo de configuración .exe.config de cada aplicación. Lo hice basándome en otro ejemplo que había visto por codeproject, solo que tenía mucho codigo innecesario (Para mi punto de vista) y decidi hacer una clase yo mismo, ya que asi, aprendia mas de XML sobre VB.NET.
La cuestión es que hay una línea, que me venía en el código de codeproject que fue la que copie (SOLO COPIE ESA), y funcionar me funciona todo perfecto, y se que es lo que me hace esa línea, pero no entiendo bien el funcionamiento.
En fin, si pueden ayudarme a entenderla, se lo agradeceré mucho:
Public Function EstableceValor(ByVal Llave As String, ByVal NuevoValor As String)
Dim FichXml As New Xml.XmlDocument
FichXml.Load(FicheroConfiguracion & ".config")
Dim Child As Xml.XmlElement = CType
'ESTA ES LA LINEA
(FichXml.DocumentElement.SelectSingleNode("/configuration/appSettings/add[@key=""" & Llave & """]"), Xml.XmlElement)
'FIN DE LINEA QUE NO ENTIENDO
If Child Is Nothing Then
Return False
Else
Child.Attributes("value").Value = NuevoValor
FichXml.Save(FicheroConfiguracion & ".config")
Return True
End If
End Function