Avatar billede aspguf Nybegynder
08. november 2009 - 00:34 Der er 13 kommentarer og
1 løsning

læsning af xml fra anden server

Hej jeg er ved at skulle lave et mondul til at læse xml fra en engros udbyder som tilbyder mig at hente priser fra en xml

men jeg kender ikke så meget til xml så jeg er finde rundt her og håber der er en venlig sjæl der vil hjælpe mig lidt på vej

min xml data ser sådan ud

<?xml version="1.0" encoding="ISO-8859-1"?>
<products xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Price.xsd">
    <group name="Test">
        <product id="1">
            <name>produkt 1</name>
            <price>100</price>
        </product>
        <product id="2">
            <name>produkt 2</name>
            <price>101</price>
        </product>
    </group>
    <group name="Gruppe 2">
        <product id="3">
            <name>produkt 3</name>
            <price>100</price>
        </product>
        <product id="4">
            <name>produkt 4</name>
            <price>101</price>
        </product>
    </group>
</products>

så er det min problem hvordan læser jeg den sådan at jeg kan sige jeg vil se alt data fra gruppe 2

eller fra vare nr 3
Avatar billede arne_v Ekspert
08. november 2009 - 00:38 #1
Spørger du om hvordan du henter XML fra en anden web server eller om hvordan du henter specifikke oplysninger ud af en XML fil?
Avatar billede aspguf Nybegynder
08. november 2009 - 00:45 #2
Første hvordan jeg henter xml fra en anden server jeg har prøve et ud fra et script jeg fandt her inden på nåde valuta, men kunde ikke få det til at virker så ville se om der ikke var en venlig person der kun give mig lidt hjælp til at komme godt igang.. men jo jeg skal bruge både måde man henter data og træker info ud. som jeg er mere usikker på..
Avatar billede arne_v Ekspert
08. november 2009 - 01:12 #3
Kode snippet til at hente med:

Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
Call objXMLHTTP.Open("GET", url, False)
Call objXMLHTTP.Send()
Set objXMLDOM = objXMLHTTP.ResponseXml
Avatar billede keysersoze Guru
08. november 2009 - 09:16 #4
Avatar billede aspguf Nybegynder
08. november 2009 - 13:05 #5
kan ikke få
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
Call objXMLHTTP.Open("GET", url, False)
Call objXMLHTTP.Send()
Set objXMLDOM = objXMLHTTP.ResponseXml

men har fåde dette til at hent data ind så mangler bare at kun styre data. en der kan hjælpe..

<%@ Language="VBScript" %>
<%
Set objHttp = Server.CreateObject("Msxml2.XMLHTTP")
Call objHttp.Open ("GET", "http://www.domain.tld/xmlfil.asp", False)
objHttp.Send
Set objXML = objHttp.responseXML
If objXML.parseError.errorcode = 0 Then
        /gåde i stå her.
    Response.write "Vis data"
Else
      Response.Write ("There was an error")
End If
Set objHttp = Nothing
%>
Avatar billede keysersoze Guru
08. november 2009 - 15:20 #6
der hvor du er gået i stå ska du gennemløbe dine rækker og læse værdierne ud som i det eksempel jeg linkede til.
Avatar billede aspguf Nybegynder
08. november 2009 - 18:52 #7
Ja det har jeg også prøve men få ikke nåde frem..

prøve med

Set Grupper = objXM.GetElementsByTagName("group")
For Each grupe in Grupper
    For Each elm in grupe.ChildNodes

    Next
Next

men jeg kan ikke få det til at virker..
Avatar billede aspguf Nybegynder
08. november 2009 - 18:53 #8
sådan ser min skriv ud som jeg ikke kan få til at virker..

Set Grupper = objXML.GetElementsByTagName("group")
For Each grupe in Grupper
    For Each elm in grupe.ChildNodes

    Next
Next
Avatar billede keysersoze Guru
08. november 2009 - 19:03 #9
hvilken fejl?
Avatar billede aspguf Nybegynder
08. november 2009 - 20:01 #10
fejl 500. og kun ikke få den til at give mere besked..
og jeg vil jo gerne kun skrive gruppenavn og så få den gruppe data eller skrive varenr og få den pågælden vare frem..
Avatar billede keysersoze Guru
08. november 2009 - 21:11 #11
funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede aspguf Nybegynder
09. november 2009 - 15:02 #12
Det virker ikke som om det her kode er godt da jeg godt kan få til at virker hvis jeg henter det ned som fil men ikke at hvis den skal hente fra nette.


så hvordan får jeg denne del til at virker.

<%
Set objHttp = Server.CreateObject("Msxml2.XMLHTTP")
Call objHttp.Open ("GET", "http://www.domain.tld/XMLList.asp", False)
objHttp.Send

virker ikke som om der er kontakt mellem her..

Set objXML = objHttp.responseXML
If objXML.parseError.errorcode = 0 Then
    Set grupper = doc.GetElementsByTagName("group")
    For Each grupe in grupper
        Response.write grupe.Attributes.GetNamedItem("name").Value
    next
Else
      Response.Write ("There was an error")
End If
Set objHttp = Nothing
%>
Avatar billede aspguf Nybegynder
09. november 2009 - 18:50 #13
Lukket og prøver at oprette et nyt da jeg er komme lidt længer. men har problemmer.
Avatar billede keysersoze Guru
09. november 2009 - 18:58 #14
jamen - tak for hjælpen... var det ikke en idé at holde det samlet et sted og lade os køre det til ende?
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

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