Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Plocka värde från en xml-fil och lagra i en tabell

Postades av 2011-02-04 10:39:56 - Peter Ribbestam, i forum asp - allmänt, Tråden har 1 Kommentarer och lästs av 8045 personer

Hej,
har en fundering om hur man enklast kan lösa följande problem.
Jag plockar hem en xml-fil från http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml (för att se filens innehåll se nedan) denna genererar valutakurser, jag är endast intresserad av en kurs och det är SEK och vill spara detta värde i min databas.
Om jag förstår det rätt kan man göra på olika sätt, ta hem i en textsträng som jag gjort nedan,
byta ut allt jag inte är intresserad av och behålla endast SEK-kursen. (Hur?)

Det skall tydligen gå via sk. DOMfunktion också - kikat på detta och kopierat ett script men ej fått det att fungera.
(Den koden har vi allra längst ned - den genererar följande felkod:
Körningsfel i Microsoft VBScript fel '800a01c2'
Fel antal argument eller felaktig egenskapstilldelning.: 'Load')

Någon som har ett vägledande tips eller gjort något liknande?

Så här tar jag hem xml-dokumentet och skriver ut det på sidan.
<code>
<%Set objXmlHttp = Server.CreateObject("Msxml2.ServerXMLHTTP")
objXmlHttp.open "GET", "http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml", False
objXmlHttp.send

if objXmlHttp.status = 200 then
' Return header code must be equal to 200
strHTML = objXmlHttp.responseText
response.Write(Server.HTMLEncode(strHTML))
else
'There is an erro
response.Write("Error : " & objXmlHttp.statusText)
end if
Set objXmlHttp = Nothing
%>
</code>

Så här ser XML-dokumentet ut:
<code>
<?xml version="1.0" encoding="UTF-8"?>
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube time='2011-02-03'>
<Cube currency='USD' rate='1.3745'/>
<Cube currency='JPY' rate='112.46'/>
<Cube currency='BGN' rate='1.9558'/>
<Cube currency='CZK' rate='24.088'/>
<Cube currency='DKK' rate='7.4557'/>
<Cube currency='ILS' rate='5.0710'/>
<Cube currency='GBP' rate='0.84865'/>
<Cube currency='HUF' rate='269.75'/>
<Cube currency='LTL' rate='3.4528'/>
<Cube currency='LVL' rate='0.7015'/>
<Cube currency='PLN' rate='3.9147'/>
<Cube currency='RON' rate='4.2630'/>
<Cube currency='SEK' rate='8.8800'/>
<Cube currency='CHF' rate='1.2987'/>
<Cube currency='NOK' rate='7.8585'/>
<Cube currency='HRK' rate='7.4207'/>
<Cube currency='RUB' rate='40.3630'/>
<Cube currency='TRY' rate='2.1885'/>
<Cube currency='AUD' rate='1.3582'/>
<Cube currency='BRL' rate='2.2917'/>
<Cube currency='CAD' rate='1.3596'/>
<Cube currency='CNY' rate='9.0511'/>
<Cube currency='HKD' rate='10.6990'/>
<Cube currency='IDR' rate='12436.82'/>
<Cube currency='INR' rate='62.6700'/>
<Cube currency='KRW' rate='1518.90'/>
<Cube currency='MXN' rate='16.5427'/>
<Cube currency='MYR' rate='4.1634'/>
<Cube currency='NZD' rate='1.7821'/>
<Cube currency='PHP' rate='60.383'/>
<Cube currency='SGD' rate='1.7493'/>
<Cube currency='THB' rate='42.431'/>
<Cube currency='ZAR' rate='9.8951'/>
</Cube>
</Cube>
</gesmes:Envelope>
</code>

Koden för "Dom-funktionen"
<code>
<%
Set XMLDoc = CreateObject("MSXML.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=false
XMLDoc.Load = "http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml"
IF XMLDoc.parseError.errorCode=0 Then
Dim node
i = 0
For Each node in XMLDOc.selectNodes("Cube/Cube")
If i Mod 2 <> 0 Then row_count = "row-odd" Else row_count = "row_even" END IF
Response.Write( "<p class=""col-1 " & row_count & """>" & GetChildNodeValue(node, "Cube currency") & "&nbsp;</p>" & VbCrLf &_
"<p class=""col-2 " & row_count & """>" & GetChildNodeValue(node, "rate") & "&nbsp;</p>" & VbCrLf &_
"<p class=""clear-all"">&nbsp;</p>" & VbCrLf)
i = i + 1
Next
Response.Write( "<p class=""site-topic-1 row-topic"">Totalt:</p>" & VbCrLf &_
"<p class=""site-topic-2 row-topic"">0</p>" & VbCrLf &_
"<p class=""site-topic-3 row-topic"">0</p>" & VbCrLf &_
"<p class=""site-topic-4 row-topic"">&nbsp;</p>" & VbCrLf &_
"<p class=""clear-all"">&nbsp;</p><br />" & VbCrLf)
Else
Response.write XMLDoc.parseError.reason
End If
%>
</code>


Svara

Sv: Plocka värde från en xml-fil och lagra i en tabell

Postades av 2011-02-05 18:32:02 - Peter Ribbestam

Löste detta själv.
Är det någon som är intresserad av koden följer den här:
<code>
<%
URL = "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml"
Set objXML = Server.CreateObject("MSXML2.DOMDocument")

objXML.setProperty "ServerHTTPRequest", True
objXML.async = False
objXML.Load(URL)

Set currencyLookup = Server.CreateObject("Scripting.Dictionary")

Set cubes = objXML.getElementsByTagName("Cube")

For c = 0 To cubes.Length - 1
Set cube = cubes.Item(c)
' Response.Write cube.xml
curName = Trim("" & cube.getAttribute("currency") )
curRate = Trim("" & cube.getAttribute("rate") )
If curName <> "" AND curRate <> "" Then

currencyLookup.Add curName, CDBL(curRate)
End If
Next


' plocka sek värdet
sek = currencyLookup ("SEK")

' om vi har ett värde så...
If Not ( IsEmpty(sek) ) Then
Response.Write "Kursen på 1 EURO = " & FormatNumber(sek / 10000,3) & " SEK<br/>"
End If

%>

</code>


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 159
27 952
271 704
829
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies