Googel Xml Wetter Api in Vb.net

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von C0der.

    Hi.. Wie hast du's versucht, das ganze in deinem Programm zu laden?! Vielleicht können wir dir dann sagen, wo es bei dir nicht funktioniert.
    "Wenn jemand in einem Betrieb unverzichtbar ist, dann ist dieser Betrieb falsch organisiert." - Roberto Niederer
    hihi habe das alles so gelöst

    VB.NET-Quellcode

    1. Private Function wetterReader(ByVal url As String) As String
    2. Try
    3. Dim i As Integer = 0
    4. Dim sb As New StringBuilder()
    5. ' Wir benötigen einen XmlReader für das Auslesen der XML-Datei
    6. Dim XMLReader As Xml.XmlReader _
    7. = New Xml.XmlTextReader("http://www.google.de/ig/api?weather=" & url)
    8. ' Es folgt das Auslesen der XML-Datei
    9. With XMLReader
    10. Do While .Read ' Es sind noch Daten vorhanden
    11. ' Welche Art von Daten liegt an?
    12. Select Case .NodeType
    13. ' Ein Element
    14. Case Xml.XmlNodeType.Element
    15. ' sb.append("Es folgt ein Element vom Typ " & .Name)
    16. If .Name = "city" Then
    17. If .AttributeCount > 0 Then
    18. ' Es sind noch weitere Attribute vorhanden
    19. While .MoveToNextAttribute ' nächstes
    20. sb.Append(.Value & "*")
    21. End While
    22. End If
    23. End If
    24. If .Name = "condition" And i < 15 Then
    25. If .AttributeCount > 0 Then
    26. ' Es sind noch weitere Attribute vorhanden
    27. While .MoveToNextAttribute ' nächstes
    28. sb.Append(.Value & "*")
    29. End While
    30. End If
    31. End If
    32. If .Name = "temp_c" And i < 30 Then
    33. If .AttributeCount > 0 Then
    34. ' Es sind noch weitere Attribute vorhanden
    35. While .MoveToNextAttribute ' nächstes
    36. sb.Append(.Value & "© *")
    37. End While
    38. End If
    39. End If
    40. If .Name = "humidity" And i < 40 Then
    41. If .AttributeCount > 0 Then
    42. ' Es sind noch weitere Attribute vorhanden
    43. While .MoveToNextAttribute ' nächstes
    44. sb.Append(.Value & "*")
    45. End While
    46. End If
    47. End If
    48. If .Name = "wind_condition" And i < 50 Then
    49. If .AttributeCount > 0 Then
    50. ' Es sind noch weitere Attribute vorhanden
    51. While .MoveToNextAttribute ' nächstes
    52. sb.Append(.Value & "*")
    53. End While
    54. End If
    55. End If
    56. Case Xml.XmlNodeType.Text
    57. ' sb.append("Es folgt ein Text: " & .Value)
    58. ' Ein Kommentar
    59. Case Xml.XmlNodeType.Comment
    60. ' sb.append("Es folgt ein Kommentar: " & .Value)
    61. End Select
    62. i += 1
    63. Loop ' Weiter nach Daten schauen
    64. .Close() ' XMLTextReader schließen
    65. End With
    66. Return sb.ToString
    67. Catch ex As Exception
    68. MsgBox(ex.Message)
    69. Return "diese stadt ist mir leider nicht bekannt sorry"
    70. End Try
    71. End Function


    ist nicht schön aber geht^^ leider bekomme ich immer mal wieder bei manchen städten einen fehler
    wenn es funktioniert ist die ausgabe das

    wie wird das wetter in mainz
    Mayence, RP
    Klar
    20©
    Feuchtigkeit: 46%
    Wind: NO mit Windgeschwindigkeiten von 19 km/h


    wenn die ausgabe nicht funktioniert so


    wie wird das wetter in mannheim
    diese stadt ist mir leider nicht bekannt sorry

    aber mannheim gibt es bekomme es aber leider nicht zum laufen

    greetz haufe
    ähh? wasn das :)
    hmm
    das haut nicht hin da er mir eine falsche stadt gibt.

    z.b frankenthal hat die plz 67227 und wenn ich das so eingebegoogle.de/ig/api?weather=67227

    komme ich nach wicha oder so^^

    und bei dem link von frankenthal bekomme ich einen fehler im reader

    VB.NET-Quellcode

    1. invalid character in the given encoding.Line 1, position 447


    der link von frankenthal

    google.de/ig/api?weather=Frankenthal
    ähh? wasn das :)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „haufe“ ()

    hallo haufe,

    ich verwende lieber den yahoo!weather dienst
    jeder ort auf der welt hat eine id, welche einmalig ist.

    dadurch kommt man sicher an die gewünschten informationen

    frankenthal gibt es dort auch nicht - aber mannheim.
    das kürzel für mannheim lautet GMXX0081 - wobei GM für Germany steht.

    EDIT:
    kleine einführung gibt es hier

    gruss

    mikeb69
    danke für die antwort.

    gibt es auch ne möglichkeit bei yahoo das wetter per postleitzahl zu suchen?

    möchte es ja in meinem prog haben. aber ist ja schlecht wenn die leute die id von ihrer stadt wissen müsssen.#
    #

    noch ne frage , kann es sein das der xmlreader probleme mit umlauten hat und ich deswegen einen fehler bekomme?
    ähh? wasn das :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „haufe“ ()

    hallo haufe,

    plz geht nur in den usa - glaube ich.

    wie du das mit den städten am besten lösen kannst weiss ich nicht
    alleine für deutschland gibt es mehrere tausend orte die abgefragt werden können.

    gruss

    mikeb69