Beste helpmijers,
Ik heb een xml bestand waar ik een waarde van wil krijgen
[XML]<?xml version="1.0" encoding="UTF-8"?>
<bla1>
<itl groupname="iets1">
<it id="001">
<value>waarde1.1</value>
</it>
<it id="002">
<value>waarde1.2</value>
</it>
<it id="003">
<value>waarde1.3</value>
</it>
<!--
In deze groep krijg ik alle waardes
-->
</itl>
<itl groupname="iets2">
<it id="001">
<value>waarde2.1</value>
</it>
<it id="002">
<value>waarde2.2</value>
</it>
<it id="003">
<value>waarde2.3</value>
</it>
<!--
In deze groep lukt dit niet.
-->
</itl>
</bla1>
<!--
itl = itemlist
it = item
de rest wijst zich vanzelf
-->[/XML]
Als ik een waarde wil hebben van bla1 / itl groupname="iets1" / it id="002" / value. Lukt het.
Maar als ik een waarde wil hebben van bla1 / itl groupname="iets2" / it id="002" / value. Lukt dit niet.
Ik werk nog niet zo lang met xml en xml in vb.net dus waarschijnlijk is het een simpel foutje.
vb.net code:
Alvast bedankt!
mvg, Victor
Ik heb een xml bestand waar ik een waarde van wil krijgen
[XML]<?xml version="1.0" encoding="UTF-8"?>
<bla1>
<itl groupname="iets1">
<it id="001">
<value>waarde1.1</value>
</it>
<it id="002">
<value>waarde1.2</value>
</it>
<it id="003">
<value>waarde1.3</value>
</it>
<!--
In deze groep krijg ik alle waardes
-->
</itl>
<itl groupname="iets2">
<it id="001">
<value>waarde2.1</value>
</it>
<it id="002">
<value>waarde2.2</value>
</it>
<it id="003">
<value>waarde2.3</value>
</it>
<!--
In deze groep lukt dit niet.
-->
</itl>
</bla1>
<!--
itl = itemlist
it = item
de rest wijst zich vanzelf
-->[/XML]
Als ik een waarde wil hebben van bla1 / itl groupname="iets1" / it id="002" / value. Lukt het.
Maar als ik een waarde wil hebben van bla1 / itl groupname="iets2" / it id="002" / value. Lukt dit niet.
Ik werk nog niet zo lang met xml en xml in vb.net dus waarschijnlijk is het een simpel foutje.
vb.net code:
Code:
Dim rxml As XmlTextReader
rxml = New XmlTextReader("C:\bla\bla\xmldocument.xml")
Dim Value = Nothing
Dim idAttr As String = Nothing
rxml.WhitespaceHandling = WhitespaceHandling.None
rxml.Read()
Do While Not rxml.EOF
rxml.Read()
If Not rxml.IsStartElement Then Exit Do
If rxml.GetAttribute("groupname") = "iets2" Then
rxml.Read()
Do Until rxml.GetAttribute("id") = "002"
rxml.Read()
Loop
rxml.Read()
Value = rxml.ReadElementString("value")
Exit Do
End If
Loop
Return Value
Alvast bedankt!
mvg, Victor