Avatar billede loukas Mester
14. marts 2013 - 08:52 Der er 2 kommentarer og
1 løsning

Parse Xml

Hej,
Xml-filen der skal parses kan ses her: http://lachica.mobi/servicepoints.xml
Jeg skal have alle servicepoint <name>Døgnposten 5802</name> skrevet ud med tilhørende:
            <deliveryAddress>
                <streetName>Frisengårdsvej</streetName>
                <streetNumber>7</streetNumber>
                <postalCode>5800</postalCode>
                <city>NYBORG</city>
                <countryCode>DK</countryCode>
            </deliveryAddress>
Har prøvet med en masse forskellige 'for next' men det driller mig.
Håber der er nogen med en løsning.
Avatar billede w13 Novice
14. marts 2013 - 16:15 #1
Prøv at tage et kig på: http://www.albofish.co.uk/reading-an-xml-feed-using-classic-asp/
Kunne godt være løsningen.
Avatar billede arne_v Ekspert
15. marts 2013 - 02:33 #2
Snippet:

Set doc = CreateObject("MSXML.DOMDocument")
doc.Async = False
doc.Load("http://lachica.mobi/servicepoints.xml")
Set sps = doc.SelectNodes("//servicePointInformationResponse/servicePoints/servicePoint[name='Døgnposten 5802']")
For Each sp In sps
    strnam = sp.SelectSingleNode("deliveryAddress/streetName").Text
    strnum = sp.SelectSingleNode("deliveryAddress/streetNumber").Text
    zip = sp.SelectSingleNode("deliveryAddress/postalCode").Text
    ' brug strnam, strnum og zip
Next
Set sps = Nothing
Set doc = Nothing
Avatar billede loukas Mester
20. marts 2013 - 14:09 #3
OK, Tak for hjælpen.
Jeg har løst den selv, så kommer evt. åbningstider også med.

Set arrServicepoint = xmlDoc.selectNodes("//servicePoints/servicePoint")
Set arrName = xmlDoc.selectNodes("//servicePoints/servicePoint/name")
Set arrdeliveryAddress = xmlDoc.selectNodes("//servicePoints/servicePoint/deliveryAddress")
Set arrAabningstider =xmlDoc.selectNodes("//servicePoints/servicePoint/openingHours")
Set arrservicePointId = xmlDoc.selectNodes("//servicePoints/servicePoint/servicePointId")

    i = 0
Response.Write "<table cellspacing=""0"">"

  For Each strNode In arrServicepoint    'Alle servicepoint
      'Response.Write strNode.nodeName & "<br>"
      intServicepointId = Server.HTMLEncode(arrservicePointId(i).text)          'ServicepointId
      strServicepointName = Server.HTMLEncode(arrName(i).text)                  'Navn på udleveringssted

        if instr(strServicepointName, "Handikapvenlig") then

        else
               
Response.Write "<tr>"
Response.Write "<td style=""border-bottom:1px solid #666666"" valign=""top"">"
Response.Write "<input id=""Radio1"" type=""radio"" name=""servicepointid"" value="""& intServicepointId &""" />"
Response.Write "</td>"
Response.Write "<td style=""border-bottom:1px solid #666666"">"
Response.Write "<font size=""2"">"
Response.Write strServicepointName & "<br>" 'Navn på udleveringssted

                Set adresse = arrdeliveryAddress(i)
                Response.Write Server.HTMLEncode(adresse.childNodes(0).text) & " " & Server.HTMLEncode(adresse.childNodes(1).text) & "<br>"  'Gade og nr
                Response.Write adresse.childNodes(2).text & " " & Server.HTMLEncode(adresse.childNodes(3).text) & "<br>"  'Postnr og By
Response.Write "</font>"               
                'Åbningstider
                x=0
                Set tider = arrAabningstider(i)
                    For each dag In tider.childNodes '
                        Response.Write "<font size=""1"">"
                        strFra = dag.childnodes(0).text                    'Fra
                        strTil = dag.childnodes(1).text                    'Til
                        strDag = dag.childnodes(2).text                    'Dag
                        Response.Write TilDkDage(strDag) & ": " & strFra & " - " & strTil & " | "
                        Response.Write "</font>"
                        x=x+1
                    Next

Response.Write "</td>"               
Response.Write "</tr>"

        end if


      i = i +1
  Next
Response.Write "</table>"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester