Toon posts:

[VB] gegevens uit xml bestand lezen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een xml bestand wat er zo uitziet:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  <?xml version="1.0" encoding="ISO-8859-1" ?> 
- <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly">
- <s:AttributeType name="VARIABELE" rs:number="1" rs:nullable="true" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="60" /> 
  </s:AttributeType>
- <s:AttributeType name="WAARDE" rs:number="2" rs:nullable="true" rs:writeunknown="true">
  <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="255" /> 
  </s:AttributeType>
  <s:extends type="rs:rowbase" /> 
  </s:ElementType>
  </s:Schema>
- <rs:data>
  <z:row VARIABELE="aantal" WAARDE="6" /> 
  <z:row VARIABELE="naam" WAARDE="VALCON." /> 
  </rs:data>
  </xml>


Nu wil ik de waarde "6" en "VALCON" uitlezen in VB dat probeer ik op deze manier:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub test2()

Dim XMLDoc          As MSXML.DOMDocument
Dim root            As MSXML.IXMLDOMNode


Set XMLDoc = New MSXML.DOMDocument
XMLDoc.async = False
XMLDoc.Load ("http://testpagina.asp")
    
Set root = XMLDoc.documentElement
    
MsgBox root.childNodes.Item(2).childNodes.Item(1).Attributes(1).Text
    
End Sub


DIt lukt niet ik krij (bij de msgbox) de melding "objectvariabele of blokvariabele niet ingesteld" Ik weet dus dat er iets met objecten niet goed zit maar ik kom er niet uit. Heb op GOT en Google al gezocht maar zonder resultaat, MSDN overvoerd me met informatie maar help me niet verder.

In principe wil ik rechtsreeks 'prikken' in het xml bestand om dus bv de "6" uit te lezen.

[ Voor 17% gewijzigd door Verwijderd op 24-03-2005 10:25 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Zet even een breakpoint in je code en controleer of
- root een waarde krijgt
- root childNodes heeft
- er een childNode 3 (0 based) bestaat
- die node childNodes heeft
- daar childNode 2 bestaat
- die node een attribuut 2 heeft

Misschien maak je ergens een denkfout en krijg je nu daardoor fouten. Je zou eerst dus eens moeten controleren wie de problemen geeft: root, daar de childnode van, of de node die je daaronder probeert aan te spreken...

Het kan overigens zijn dat het niet 0-based is, maar you get the point. Oftewel: iets meer debuggen is op zijn plaats.

[ Voor 24% gewijzigd door OZ-Gump op 24-03-2005 10:31 ]

My personal website


Verwijderd

Topicstarter
In "venster lokale variabelen" root gewoon gevuld en kan ik ook door de childnodes heen om uiteindelijk bij mijn Attribute terecht te komen...........

Overigens een childnode item 3 bestaat niet, is dat nodig dan?

[ Voor 22% gewijzigd door Verwijderd op 24-03-2005 10:54 ]


  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Als childNodes 0-based is, dan vraag jij in je code het derde element op... Dan is dat nodig ja. ;)
Controleer dat dus even voor de zekerheid.

My personal website


Verwijderd

Topicstarter
AArchhhhh............ dat is hem inderdaad. Sukkel die ik ben, ik zit inderdaad een node te ver uit te vragen!!!

Heel erg bedankt............

Slotje!!