VB.NETでXMLに簡単にアクセスする方法

VS2010(きっと.NET Framework 3.5か4.0あたり?)から、XMLの要素に簡単にアクセスする方法。
VB.NETXMLを読もうとしてるんだけど、どこもXElementとかXMLのノードを順に追っていって…みたいなサンプルしかなくて、確か最近の.NETってdynamic型みたいに直接アクセスできなかったかなぁ。と思いつつ。
Google Geocoding APIの結果がJSONで返る(URLを変えればXMLも可能)ので、本当はDynamicJSONを使いたかったんだけど、ちょっとうまくいかなかったのでXMLでやってみました。
Google Geocoding APIについてはこちらを→Get Started  |  Geocoding API  |  Google Developers
Googleのサンプルとして、http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=false というURLを投げると、結果がXMLで返ってくるので、

Dim QueryUriXML As String = "http://maps.googleapis.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&sensor=true_or_false"
Dim geoxml As XDocument = XDocument.Load(QueryUriXML)

'lat=緯度
'lng=経度
Dim lat As String = ""
Dim lng As String = ""

If geoxml.<GeocodeResponse>.<status>.Value = "OK" Then
    lat = geoxml.<GeocodeResponse>.<result>.<geometry>.<location>.<lat>.Value
    lng = geoxml.<GeocodeResponse>.<result>.<geometry>.<location>.<lng>.Value

    Debug.WriteLine("lat: " & lat)
    Debug.WriteLine("lng: " & lng)

End If

こんな感じで読めます。この手法、結構前に知ってたんだ(LINQと同時期だったかなぁ)けど情報があまりなくて。
XDocument.Loadでアクセスして、そのXMLレスポンスが格納されたXDocumentに対して<要素名1>.<要素名1>,Value みたいにすると簡単にアクセスできるよ。
といった話でした。