Avatar billede prebenrunge Nybegynder
29. april 2006 - 13:18 Der er 12 kommentarer og
1 løsning

indlæs XML fil i ASP

HVEM KAN HJÆLPE MED ASP og XML ?
--------------------------------
Jeg skal trække data ud af et XML dokument der ligger på en webserver og har nu brugt rigtig megen tid på at finde et svar på nettet uden held. Det bedste jeg har fundet og som virker er nedenstående som læser XML filen og lister indholdet.
MEN jeg skal bruge data fra de enkelte TagName som senere skal bruges i andre sammenhæng (som variabler).

Kan ud se hvad jeg mangler for at få fat i de enkelte data ???

Her er det asp jeg indtil videre har fået til at virke:
<%
  Response.Buffer = True
  Dim objXMLHTTP, xml, Characters

  ' Create an xmlhttp object:
  Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")

  ' Opens the connection to the remote server.
  xml.Open "GET", "http://sondagsavisen.dk/prepress/product_status.xml", False

  ' Actually Sends the request and returns the data:
  xml.Send


  'Display the HTML both as HTML and as text
  Response.Write "<h1>The HTML text</h1><xmp>"
  Response.Write xml.responseText
  Response.Write "</xmp><p><hr><p><h1>The HTML Output</h1>"

  Response.Write xml.responseText &"<br>"
  Set xml = Nothing
%>
Avatar billede sth Novice
30. april 2006 - 10:21 #1
lytter lige med :)
Avatar billede prebenrunge Nybegynder
01. maj 2006 - 16:13 #2
Du er velkommen, men der kommer desværre ikke så meget svar !
Avatar billede sth Novice
01. maj 2006 - 21:40 #3
Nej du har ret....
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 11:57 #4
jeg har prøvet mig lidt frem selv og har fundet noget der måske sætter os lidt på sporet, da den kan indlæse en side fra en www.adresse og liste indholdet som tekst med commandoen: (document.getElementById('A4').innerHTML=xmlhttp.responseText)

Måske nogen kan se hvad vi mangler for at få indholdet fra TagName og helst over i nogle variabler der er til at arbejde med.

Jeg har lagt koden her for alle som er interesseret
Hilsen Preben
---------------------
<html>
<head>
<script type="text/javascript">
var xmlhttp

function loadXMLDoc(url)
{
// code for Mozilla, etc.
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest()
  xmlhttp.onreadystatechange=state_Change
  xmlhttp.open("GET",url,true)
  xmlhttp.send(null)
  }
// code for IE
else if (window.ActiveXObject)
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
    if (xmlhttp)
    {
    xmlhttp.onreadystatechange=state_Change
    xmlhttp.open("GET",url,true)
    xmlhttp.send()
    }
  }
}

function state_Change()
{
// if xmlhttp shows "loaded"
if (xmlhttp.readyState==4)
  {
  // if "OK"
  if (xmlhttp.status==200)
  {
  alert("XML data OK")
  document.getElementById('A1').innerHTML=xmlhttp.status
  document.getElementById('A2').innerHTML=xmlhttp.statusText
  document.getElementById('A3').innerHTML=xmlhttp.responseText
 
  document.getElementById('A4').innerHTML=xmlhttp.responseXML
  }
  else
  {
  alert("Problem retrieving XML data:" + xmlhttp.statusText)
  }
  }
}

</script>
</head>

<body onload="loadXMLDoc('http://www.site/folder/navnpåfil.xml')">
<h2>Using the HttpRequest Object</h2>

<p><b>status:</b>
<span id="A1"></span>
</p>

<p><b>status text:</b>
<span id="A2"></span>
</p>

<p><b>response-Text:</b>
<br><span id="A3"></span>
</p>

<p><b>response-XML:</b>
<br><span id="A4"></span>
</p>
</body>
</html>
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 11:58 #5
den sidste "document.getElementById('A4').innerHTML=xmlhttp.responseXML" har jeg selv sat ind, bare for at prøve hvad der skete.
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 14:48 #6
jeg har fundet noget MEGET interessant hvis du er interesseret SE NÆSTE KOMMENTAR
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 14:48 #7
<!--#include file="udskrivarrsub.asp"-->
<%
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
Set objXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
objXMLDOM.async = false
Call objXMLHTTP.Open("GET", "http://sondagsavisen.dk/prepress/product_status.xml", False)
objXMLHTTP.Send

Set objXMLDOM = objXMLHTTP.ResponseXML

Set root = objXMLDOM.documentElement
Redim mitarr(11,11)
    For i = 0 To (root.childNodes.length - 1)
  'Response.Write root.childNodes.Item(i).TagName &"<br>"
   
          For e = 0 to (root.childNodes(i).childNodes.length - 1)
                  if root.childNodes.Item(i).childNodes.Item(e).Text<>"" Then
                    'Response.Write root.childNodes.Item(i).childNodes.Item(e).Text &"<br>"
                    minvar=root.childNodes.Item(i).childNodes.Item(e).Text &"<br>"
                Else
                    'Response.Write "0" &"<br>"
                    minvar="0" &"<br>"
                End if
                mitarr(e,i)=minvar
                minvar=""
          Next
    Next

Set objXMLHTTP = Nothing
Set objXMLDOM = Nothing

udskriv=mitarr
Call Udskrivarray(udskriv)
%>
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 14:51 #8
Include filen er bare udskrivning af arrayet, da jeg har den liggende i forvejen. Hvis du vil se resultatet uden, kan du blot remme de 2 linier ud og åbne op for response.write sætningerne
Avatar billede sth Novice
06. maj 2006 - 16:59 #9
Detr da lige dit sidste inlæg jeg havde brug for, tak for det
Avatar billede prebenrunge Nybegynder
06. maj 2006 - 17:27 #10
Selv tak, det er sku hårdt når man selv skal lede hele internetverden igennem for at finde den slags, men nogen tider er det nødvendigt.
Avatar billede sth Novice
06. maj 2006 - 19:31 #11
jeg har selv gennemsøgt eksperten uden at det er lykkes mig at finde det, så jeg siger tak
Avatar billede prebenrunge Nybegynder
07. oktober 2011 - 08:42 #12
ikke rigtig nogen løsning men alligevel. tråden lukkes da den er alt for gammmel.
Avatar billede sth Novice
11. oktober 2011 - 15:04 #13
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