Avatar billede tblaster Nybegynder
10. juni 2010 - 10:49 Der er 8 kommentarer og
1 løsning

ASP og XMLDOM, hente data fra xml fil ved loop igennem nodes

Hej.
Jeg har brug for hjælp med at trække information ud fra en xml fil i asp. Et eksempel på min xml struktur kan ses nedenunder. Jeg ønsker at løbe alle "hit" igennem og udskrive føglende information:
- acce
- _desc
- _score
- _mass
- _matches


XML struktur:
  <?xml version="1.0" encoding="UTF-8" ?>
- <results>
- <hits>
- <hit number="1">
- <pr acce="HSP7C">
  <_desc>Big</_desc>
  <_score>662</_score>
  <_mass>71111</_mass>
  <_matches>32</_matches>
  </pr>
  </hit>
- <hit number="2">
- <pr acce="GRP78">
  <_desc>Small</_desc>
  <_score>472</_score>
  <_mass>72520</_mass>
  <_matches>22</_matches>
  </pr>
  </hit>
  ...

Jeg har forsøgt med følgende asp kode, men kan ikke finde ud af at få eks. kun den specifikke information i "_mass" ud:
Dim objXML
Set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.async = False
objXML.setProperty "ServerHTTPRequest", true
objXML.load(URL)

count = 0
set nodes = objXML.selectNodes("results/hits/hit")
for each N in nodes
  response.write "|" & N.text & "|<br />"
  count = count + 1
next
Avatar billede arne_v Ekspert
11. juni 2010 - 03:38 #1
Prøv med:

response.write "|" & N.selectSingleNode("//pr/_mass").text & "|<br />"
Avatar billede tblaster Nybegynder
11. juni 2010 - 08:10 #2
Yep, det virker, men hvordan får jeg værdien ud fra acce?
<pr acce="GRP78">
  ...
</pr>
Avatar billede tblaster Nybegynder
11. juni 2010 - 12:56 #3
Jeg var vist lidt for hurtig før. Ovenstående løsning giver samme resultater for hvert gennemløb i loopen. Hvis jeg bruger følgende så får jeg noget forskelligt udskrevet hver gang:
N.text

Hvordan sikre jeg mig at loopen hver gang henter data for næste <pr>?
Avatar billede arne_v Ekspert
11. juni 2010 - 15:14 #4
N.selectSingleNode("//pr/@acce").text

boer give attribut
Avatar billede arne_v Ekspert
11. juni 2010 - 15:15 #5
med hensyn til samme resultat - er du sikker paa at du bruger N.select og ikke objXML.select ?
Avatar billede tblaster Nybegynder
18. juni 2010 - 08:27 #6
Super, jeg har fået det til at virke med din hjælpe. Smit et svar så skal du få point.

Hvis du har mod på det så har jeg fået en mindre ændring i min xml så min pr-tag nu ser således ud:
  <pr acce="GRP78">
  <_desc>Small</_desc>
  <_score>472</_score>
  <_mass>72520</_mass>
  <_matches>22</_matches>
  <p id="1">
    <p_seq>X</_seq>
  </p>
  <p id="4">
  ...
  </p>
  ...
  </pr>

Det jeg gerne vil vide er hvordan jeg så løber alle p-tags igennem i min pr for at hente seq ud.
Avatar billede arne_v Ekspert
18. juni 2010 - 20:26 #7
svar
Avatar billede arne_v Ekspert
18. juni 2010 - 20:27 #8
"//pr/p/_seq" vil hente alle seq

muligvis vil du hellere hente "//pr/p" og saa hente "@id" og "_seq" for hver af dem
Avatar billede arne_v Ekspert
04. juli 2010 - 03:19 #9
??
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