webForumDet fria alternativet

läsa in xml med asp från webbsida.

ASP

5 svar · 645 visningar · startad av pnisv97

Medlem sedan apr. 200248 inlägg
Frågan#1

Vill kunna hämta in en XML fil från en webbsida. http://www.hemsida.se/test.xml

XML:n ser ut som nedan. Sedan vill jag komma åt innehållet för huvud, mellan och fot elementen. Har kollat runt lite på webben men inte hittat nåt lätt exempel att följa..

Tacksam för hjälp...

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<!DOCTYPE design (View Source for full doctype...)> 
<design designmall="Stil" navigator="Test">
        <huvud language="ANY" ttl="86400">text1</huvud>
        <mellan>text2</mellan>
        <fot>text3</fot>
</design>
Medlem sedan sep. 2002104 inlägg
#2

http://www.devguru.com/Technologies/xmldom/quickref/xmldom_intro.html
om du har en xmlfil enligt:

<design designmall="Stil" navigator="Test">
<huvud language="ANY" ttl="86400">text1</huvud>
<mellan>text2</mellan>
<fot>text3</fot>
</design>

så kan du göra så här för att komma åt innehållet

<%
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("http://www.hemsida.se/test.xml")

set huvud = xmlDoc.getElementsByTagName("huvud")
set mellan = xmlDoc.getElementsByTagName("mellan")
set fot = xmlDoc.getElementsByTagName("fot")

response.write huvud.item(0).text
response.write mellan.item(0).text
response.write fot.item(0).text
%>

Medlem sedan apr. 200248 inlägg
#3

Tack för svar.

Har suttit med och kollat på liknande lösningar men får nedanstående fel när jag kör din kod.

Kan det ha att göra med att mina element huvud, mellan och fot ligger inom ett design element ?? Och hur löser jag det i sånafall?

Microsoft VBScript runtime error '800a01a8' 
Object required: 'huvud.item(...)' 
/sk_ledarenkat/xml.asp, line 10
Medlem sedan sep. 2002104 inlägg
#4

håller inte på så mkt med xml själv, vad menar du med designelement. Menar du design-taggen?
Det var ju inga problem där för mej.
Men däremot har jag fattat att det är ett absolut krav att alla
taggar har en motsvarande sluttagg. Dessa måste dessutom vara identiska, med avseende på stora och små bokstäver för för att det ska funka.

En konstighet, som höll på att göra mej vansinnig innan jag fattade varför , är att
xmldom-komponenten inte gillar bokstäverna åäö. (Fast helt överraskande är det ju inte)
Om en tagg innehåller någon av dessa bokstäver får man upp samma felmeddelande som du visade ovan.
Måste man använda dessa bokstäver blir det problem.
Vet inte hur man skall komma runt detta.

Medlem sedan sep. 2002104 inlägg
#5

Nedanstående kod fungerade på ett sånt ställe som Brinkster.com.
Funkade inte ange vanlig url utan fick använda mappath.

<html>
<head></head>
<body>

<%
set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
fil=Server.mappath("test2.xml")
xmlDoc.load(fil)

set huvud = xmlDoc.getElementsByTagName("huvud")
set mellan = xmlDoc.getElementsByTagName("mellan")
set fot = xmlDoc.getElementsByTagName("fot")

response.write huvud.item(0).text
response.write mellan.item(0).text
response.write fot.item(0).text

%>

</body>
</html>

xml-filen samma som mitt förra exempel

Medlem sedan apr. 200248 inlägg
#6

nu ser jag.. Du använder en lokal fil på din webbserver ??..

Jag hämtar in min XML-fil från en annan server så jag kör antagligen fel XML-objekt..

mvh Per

256 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)