Avatar billede fenriz Nybegynder
09. oktober 2007 - 15:52 Der er 4 kommentarer og
1 løsning

Indlæsning af XML

Hvor mange forskellige måder kan hente data fra XML fil når bruger ASP?

Jeg benytter i dag denne metoder:
Felt01 = thisChild.childNodes(0).Text
Felt02 = thisChild.childNodes(1).Text
Felt03 = thisChild.childNodes(2).Text

Men da jeg kan risikere at nogle felter er tommer kunne jeg godt tænke mig at bruge XML navnet isted.

Er der nogen der har erfaring med at bruge andre metoder?
F.eks.
Felt01 = thisChild.childNodes.Name.XmlFeltNavn.Text

Jeg er helt blank for andre metoder, så alle forslag modtages ?
Avatar billede arne_v Ekspert
10. oktober 2007 - 04:51 #1
SelectSingleNode og SelectNodes (XPath) var måske en mulighed.
Avatar billede fenriz Nybegynder
10. oktober 2007 - 08:59 #2
kan ikke finde nogle eks. nogen steder?

Prøvede at kaste mig ud i noget der siger...

root.documentElement.selectNodes("FeltRow/Feltnavn")

Men det kan jeg heller ikke få til at virker...
Avatar billede fenriz Nybegynder
10. oktober 2007 - 13:25 #3
Nu er jeg kommet så langt at det"næsten" virker, men min løkke suckes...

Er der nogen der kan hjælpe?

Set objXMLDoc = Server.CreateObject( "MSXML2.DOMDocument" )
objXMLDoc.async = false
objXMLDoc.load(Server.MapPath("test.xml" ))

set characters = objXMLDoc.selectnodes("/DepartmentOrdersMvView/DepartmentOrdersMvViewRow")
Set StyleName = objXMLDoc.selectSingleNode( "/DepartmentOrdersMvView/DepartmentOrdersMvViewRow/StyleName" )
Set StyleNumber = objXMLDoc.selectSingleNode( "/DepartmentOrdersMvView/DepartmentOrdersMvViewRow/StyleNumber" )

For i = 0 to characters.length-1
       
        set character = characters(i)
       
        Response.Write (StyleName.text ) & "<br>"
        Response.Write (StyleNumber.text ) & "<br>"

set character = nothing

    Next
Avatar billede arne_v Ekspert
11. oktober 2007 - 02:13 #4
Da jeg ikke ved hvordin din XML fil ser ud og heller ikke ved hvilket
output du vil have ud er det meget svært at sige hvad der er galt.
Avatar billede fenriz Nybegynder
12. oktober 2007 - 11:26 #5
Endte ud i helt anden løsning som ser sådan her ud og virker perfekt...

            Dim nodeCount, nodeLoop
            Set sections = xml_dokument.selectNodes("//ViewRow")
            nodeCount = 0
            If sections Is Nothing Then
           
            Else
                For Each sectionNode In sections
                    nodeCount = nodeCount + 1
                Next
            End If

Set objName = xml_Dokument.selectSingleNode("//ViewRow[" & nodeLoop & "]/Name")
                               
If objName Is Nothing Then
                                   
  Else

  Response.Write (objName.Text) & "<br>"
End If
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