---
title: "Hjälp med väderfunktion via XML"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/182407-hjälp-med-väderfunktion-via-xml"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Quid"
published: "2010-02-12T10:04:21.000Z"
updated: "2010-02-22T10:40:24.000Z"
replies: 4
views: 881
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/182407-hjälp-med-väderfunktion-via-xml"
---

# Hjälp med väderfunktion via XML

## #1 — Quid, 2010-02-12T10:04Z

Jag har idag en väderfunktion på en av mina webbplatser som bygger på att SMHI laddar upp en .txt-fil via FTP som jag sedan läser ut information ifrån och presenterar vädret med lite bilder och text.

Nu håller dom dock på att byta ut systemet och jag har istället fått tillgång till en XML-fil på deras server som jag nu ska använda för att läsa ut informationen.

Filen ser ut såhär:

```
<PRODUCT generator="SMHI" productid="Webservice, observationer">
  <user_def>ProductGenerated:2010-02-12 09:40</user_def>
  <type name="Falkenberg">
    <prop name="day">2010-02-12</prop>
    <prop name="time">10:00</prop>
    <prop name="temp">-4</prop>
    <prop name="relhum">91</prop>
    <prop name="pressure">1023</prop>
    <prop name="w_pointer">4</prop>
    <prop name="wind_strength">4</prop>
    <prop name="wind_direction">NO</prop>
    <prop name="weather">Halvklart</prop>
    <prop name="precipitation">0.0</prop>
    <prop name="sun_up"/>
    <prop name="sun_down"/>
  </type>
</PRODUCT>
```

Jag har tidigare byggt en liknande funktion med hjälp av Microsoft.XMLHTTP, men där hämtade jag en hel webbsida och använde sedan (med hjälp av webforum) RegEXP för att hitta och presentera just den informationen jag vill ha ut. Men nu när det är XML, snyggt uppradat och allt så tänkte jag att man kanske kunde slippa det?

Finns det något enklare sätt att läsa in och plocka ut just dom delar av datan som jag vill ha eller är det regEXP som gäller ändå?

Permalänk: https://www.webforum.nu/p/182407

## #2 — Quid, 2010-02-12T12:54Z

Nu har jag kommit lite längre  :)

Jag börjar med att läsa in filen:

```
SET objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open "GET", "adressen till XML-filen", False
objXMLHTTP.Send()
WeatherXML = objXMLHTTP.responseText
SET objXMLHTTP = Nothing
```

Då får jag en input liknande den ovan, sen tänkte jag splitta in den i en array:

```
myArray = Split(WeatherXML,vbCRLF)
```

Men allt hamnar i samma "rad" i arrayen, varför?
Jag har även provar att strippa bort alla kod-taggar innan splitten men blir bara en rad ändå.

Permalänk: https://www.webforum.nu/p/2225702

## #3 — Quid, 2010-02-12T13:55Z

Det skulle visst vara:

```
myArray = Split(WeatherXML,Chr(10))
```

Nu kan jag gå vidare!  :)

Permalänk: https://www.webforum.nu/p/2225704

## #4 — dAEk, 2010-02-12T18:37Z

Nej, du ska inte använda regex för XML! Eller ja, du gör som du vill. ;)

Annars borde du kunna använda en DOM-parser. Det ger en betydligt mer lättläst kod.

Att läsa in en fil är enkelt:

```
function LoadDocument(filePath)
	dim document
	set document = Server.CreateObject("Microsoft.XMLDOM")
	
	document.async = false
	document.Load(filePath)
	
	set LoadDocument = document
	set document = nothing
end function

dim weather = LoadDocument("weather.xml")
```

När man har filen i minnet kan man läsa ut info m.h.a. XPath:

```
dim day = weather.selectSingleNode("//type/prop[@name='day']").Text
dim temp = weather.selectSingleNode("//type/prop[@name='temp']").Text
[...]
```

Nåt sånt borde få dig på banan iaf. Regex är skitbra för rätt ändamål men inte för Xml.

Permalänk: https://www.webforum.nu/p/2225716

## #5 — Quid, 2010-02-22T10:40Z

Då var jag tillbaka på jobbet efter en veckas sjukdom, och då ska man ta tag i detta igen  :)

Jag får följande fel: *Objektet stöder inte egenskapen eller metoden.*

Så det känns som om det saknas något på min maskin, det är Windows 7 64-bitar och vad jag kan förstå efter att ha läst detta: <http://en.wikipedia.org/wiki/MSXML> så ska det ingå i Windows 7.

Någon aning om vad som saknas?

/edit:
Det var ju själv som hade skrivit fel, så nu funkar allt.

Tack för all hjälp!

Permalänk: https://www.webforum.nu/p/2226454

---

Tråden på webben: https://www.webforum.nu/amne/asp/182407-hjälp-med-väderfunktion-via-xml
