Avatar billede barn Nybegynder
06. august 2002 - 16:29 Der er 1 kommentar og
1 løsning

udtrække element værdier for en enkelt node.

Jeg benytter MS XML Core Services (MSXML) 4.0

Jeg skal gennemløbe et dokument af nedenstående og for hver computer (Nu er der kun lige een, KUF men alligevel) , skal jeg bruge dens navn og skal jeg genneløbe dens Class'er og for hver class node skal jeg hente dens childnodes element værdier ud.

Så af følgende dokument vil jeg udtrække:

KUF
Computer System Product
eserver xSeries 232 -[86682RX]-
IBM
Null eller empty
0D0DF598-XXXX-11B2-83F4-75DD4287B695
Base Board
IBM
Null eller empty




<Computer-Information-Store Domain="TEST" CISVersion="0.53" CollectDate="22-07-2002 14:06:42">
<Computers>
<Computer Name="KUF">
<Class Name="Win32_ComputerSystemProduct">
<Caption>Computer System Product</Caption>
<Name>eserver xSeries 232 -[86682RX]-</Name>
<Vendor>IBM</Vendor>
<Version></Version>
<UUID>0D0DF598-XXX-11B2-83F4-75DD4287B695</UUID>
</Class>
<Class Name="Win32_BaseBoard">
<Caption>Base Board</Caption>
<Manufacturer>IBM</Manufacturer>
<Product></Product>
</Class>
</Computer>
</Computers>
</Computer-Information-Store>


Det har jeg så prøvet på at gøre på følgende måde, men det går galt der hvor jeg har angivet det, galt på den måde at det er null værdier og ikke tekst.  Men er det fordi at class noden kun indeholder andre noder og ikke elementer?

    ' henter listen af computere fra datafilen
    Set oComputerNodes = oCISDataFile.SelectNodes("//Computer")
       
       
        'tjekker lige om der nu også er så mange vi forventer samt typen
        'wscript.echo oClassNodes.length
        'wscript.echo TypeName (oClassNodes)
   
    For each oComputerNode in oComputerNodes

        'henter computer navnet
       
        sNodeAttrib = FnGetAttribValue( oComputerNode, "Name" )
   
        wscript.echo sNodeAttrib
        ' indsætter noget i db á la: insert into  computer values (domain, navn, dato)


        For each oElem in oComputerNode.ChildNodes
           
Her går det galt ---->    wscript.echo oElem.Nodevalue
           
            'If oElem.NodeType = NODE_TEXT Then
           
            'lav en eller anden tekststreng med den

            'End If
        Next


        Next
Avatar billede simon.ulsnes Nybegynder
06. august 2002 - 17:37 #1
Er det ASP eller ASP.NET eller bare almindeligt VB?

// Simon
Avatar billede barn Nybegynder
06. august 2002 - 17:59 #2
Det er vbscript, men sagen har på mystisk vis løst sig, jeg skal ikke bede om node værdien men istedet skifte den pågældende linie ud med:

wscript.echo oElem.text

og så virker det.... klart som blæk!
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