Avatar billede svimmel Nybegynder
31. januar 2004 - 06:00 Der er 4 kommentarer og
1 løsning

Simpel XML parse i ASP

Først vil jeg lige nævne, at jeg med dette projekt jeg har gang i, har bevæget mig ud på et usikkert plan. Jeg ved kun ganske lidt om emnet, og er knap nok inde i hvordan det hænger sammen i basis.

Med det sagt, så håber jeg at der er en der vil give sig tid til at hjælpe mig med mit problem.

Det jeg ønsker at nå frem til, er at trække noget information ud fra en .xml fil på en anden server, og udskrive informationen på min egen side.

Jeg vil dog ikke nødvendigvis have et komplet dump af filen, men ønsker kun informationer fra specifikke elementer.

fx

Min XML fil ser ud som følgende...

-------------------------------------------------------

- <guild_status>
- <guild name="Danish Gods Of Hibernia">
  - <character name="Svendemir">
    <class>Blademaster</class>
    <level>45</level> 
    </character>
  - <character name="Svimmel">
    <class>Eldricht</class>
    <level>46</level> 
    </character>
  </guild>
  </guild_status>

---------------------------------------------------------

Jeg ønsker nu at min HP skal skrive information ud om medlemmet "Svimmel", i fx følgende simple tabel:

<table>
<tr>
  <td>character name</td>
  <td>class</td>
  <td>level</td>
</tr>
</table>


Det er et meget simpelt parse som dette jeg er ude efter. Mit spørgsmål er, kan det lade sig gøre i ASP, uden at skulle vikle sig ud i XSL eller JavaScript?

Jeg har været rundt og se om jeg kunne finde hjælp, også her på Eksperten.dk, men de fleste eksempler og emner, er hvis man har .xml filen på egen server, hvilket jeg ikke har.

Jeg ville sætte pris på en meget kort kode, jeg selv kan gå ud fra og bygge videre på, eller en kort forklaring på om jeg er helt skæv på den eller blot lidt ude af kurs, og med lidt hjælp hurtigt kan rettes ind igen :)
Avatar billede svimmel Nybegynder
31. januar 2004 - 06:02 #1
Fra hvad jeg har læst mig fremtil, vil jeg mene det er nødvendigt at bruge XSL. Hvis det er tilfældet, kan en så give mig et eksempel?
Avatar billede eagleeye Praktikant
31. januar 2004 - 13:24 #2
Her er et eks på en simpel XML parse:


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

<%
Dim objXML
'create an instance of the MSXML parser
Set objXML = Server.CreateObject("microsoft.XMLDOM")
objXML.Load (Server.MapPath("filen.xml"))

If objXML.parseError.errorcode = 0 Then
  set n=objXML.selectNodes("//character")

  Response.Write "<table>"
  for each node in n
    Response.Write "<tr>" 
    navn = node.getAttribute("name")
    classStr = node.getElementsByTagName("class").item(0).text
    level = node.getElementsByTagName("level").item(0).text

    Response.Write "<td>" & navn & "</td><td>" & classStr & " </td><td>" & level & "</td>"
    Response.Write "</tr>"
  next
  Response.Write "</table>"
Else
  Response.Write ("There was an error")
End If
Set objXML = Nothing
%>

</body>
</html>
Avatar billede svimmel Nybegynder
31. januar 2004 - 20:48 #3
Det var lige sådan en simpel parse jeg skulle bruge. Dit eksempel tager sig dog ikke afmit problem med at hente en ekstern side, men lidt hurtigt søgen på Activedeveloper.dk løste mit problem..

Der skulle lige 2 sætninger ind før det virkede:

objXML.async = false
objXML.setProperty "ServerHTTPRequest", true

Men jeg bad om et eksempel på et simpelt parse, og det fik jeg, så point skal du ha :)
Avatar billede eagleeye Praktikant
31. januar 2004 - 20:50 #4
Ok, så et svar fra mig ;)
Avatar billede svimmel Nybegynder
31. januar 2004 - 20:56 #5
;)
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