2012-04-20 12 views
0

私たちのマーケティング部門は、ちょっとした背景として、看板に静的天気画像を使用していて、リアルタイムで更新されたものを引き出すことができるかどうか尋ねました。私は私どもの部門でプログラミング経験のある唯一の人であり、私は初心者ですから、解決策を考え出すように求められました。私は過去にいくつかの小規模なプロジェクトを行ってきたので、私はその道を行くことにしました。拡張予測データを除き、私が望むようにすべての作業を行っています。以下のサンプルでは、​​Forステートメントで表示する変数を使用して、毎日の拡張予測XMLデータを取得します。しかし何らかの理由で、それは拡張予測の最終日を引っ張っているだけです。古典的なASPでGoogleの天気予報を設定する

If (objXMLDOM.parseError.errorCode <> 0) Then 
Response.Write("<p>Error parsing XML: " & objXMLDOM.parseError.reason & "</p>") 
Else 
    For i = 0 to 3 
    Set objFuture = objXMLDOM.getElementsByTagName("forecast_conditions").Item(i) 'pull the XML node for each from one to three 
    For Each xmlNode In objFuture.childNodes 'loop through the dom tree 
     If (xmlNode.nodeName = "icon") Then 
      strIcon1 = "<img src=""http://www.google.com" & xmlNode.Attributes.getNamedItem("data").text & """ border=""0"">" & vbCrLf 
     End If 
     If (xmlNode.nodeName = "condition") Then 
      strCondition1 = xmlNode.Attributes.getNamedItem("data").text & vbCrLf 
     End If 
     If (xmlNode.nodeName = "low") Then 
      strLow = xmlNode.Attributes.getNamedItem("data").text & vbCrLf 
     End If 
     If (xmlNode.nodeName = "high") Then 
      strHigh = xmlNode.Attributes.getNamedItem("data").text & vbCrLf 
     End If  
     If (xmlNode.nodeName = "day_of_week") Then 
      strDay = xmlNode.Attributes.getNamedItem("data").text & vbCrLf 
     End If  
    Set objFuture = nothing  
    Next  
Next 
End if 

私は、次のコードで私のメインページに4日間の予報をoutputing午前:私はちょうどこのオフを見て、上の今日のカップルのためとされている

<%For Each Item in objXMLDOM.getElementsByTagName("forecast_conditions") 
    Response.Write ("<td>" & strDay & "<br>" & strIcon1 & "<br>" & strCondition1 & "<br>" & "Low:&nbsp" & strLow & "&deg;F" & "<br>" & "High:&nbsp" & strHigh & "&deg;F" & "<br>" & "</td>") 
Next %> 

することができます」私は最後のものの代わりに毎日引っ張っていくものが見つからないようです。誰かが何か提案があれば、私はそれを感謝します!

答えて

1

毎日の予測データを格納するために同じ変数セットを使用しています。だから、あなたのforループが繰り返されるたびに、前日の情報が上書きされます。

ソリューションは、このようなように、最初のforループinsideyour画面にデータを書き込むコードを移動することです:

If (objXMLDOM.parseError.errorCode <> 0) Then 
    Response.Write("<p>Error parsing XML: " & objXMLDOM.parseError.reason & "</p>") 
Else 
    For i = 0 to 3 
     Set objFuture = objXMLDOM.getElementsByTagName("forecast_conditions").Item(i) 
     For Each xmlNode In objFuture.childNodes 

      ... 

     Next 

     ' Write to the page here 
     Response.Write ("<td>" & strDay & "<br>" & strIcon1 & "<br>" & strCondition1 & "<br>" & "Low:&nbsp" & strLow & "&deg;F" & "<br>" & "High:&nbsp" & strHigh & "&deg;F" & "<br>" & "</td>") 

    Next 
End if 
+0

おかげジョン!それは私の問題を解決!私はあなたの助けに感謝します! – wyndhurst

関連する問題