xmlReader rückwärts bewegen

23/02/2010 - 00:22 von Simon Raabe | Report spam
Hallo,

für ein dictionary möchte ich, dass der xmlreader ein untergeordnetes
Element liest, und dann zurück auf das Anfangselement springt um einer
Funktion den subtree zu übergeben.

Also soll aus der XML-Datei

<gruppe>
<name>Blàh</name>
<child2>...</child2>
[...]
<gruppe>

folgendes gemacht werden:


dim xmlreader as xml.xmlreader = new xml.xmltextreader(XMLfile)
dim dic as new dictionary(of string, meineKlasse)

While xmlreader.read()
if xmlreader.name = "gruppe"
dic.add(xmlreader.readitem("name"),
meineKlassenFunktion(xmlreader.readsubtree)
end while


Damit -um Missverstàndnisse zu vermeiden- der Key "Blàh" zu der klasse
führt, die den Subtree von Gruppe wiederspiegelt.

Wobei **xmlReader.readitem("name")** natürlich ein erfundener Wunschtraum
ist. Es soll das Elenemt "name" von "gruppe" als Key genommen werden, wàhrend
der xmlreader.readsubtree einer Funktion übergeben wird, die ihrerseits den
Subtree als Objekt meiner "home-made-class" wieder gibt.

Gibt es da einen Member von xml.Xmlreader den ich nicht kenne und auch nicht
finde, oder gibt es sopntan Codevorschlàge für eine Funktion die den
Zeiger(?) von xmlReader zurück schieben kann?

Ich hoffe das ist verstàndlich.

Vorab schon vielen Dank für die Hilfe!

Simon Raabe
 

Lesen sie die antworten

#1 Martin H.
23/02/2010 - 07:48 | Warnen spam
Hallo Simon,

warum verwendest Du nicht XMLDocument, dann kannst Du in den Nodes hin-
und herspringen.

Beste Grüße,

Martin

On 23.02.2010 00:22, Simon Raabe wrote:
Hallo,

für ein dictionary möchte ich, dass der xmlreader ein untergeordnetes
Element liest, und dann zurück auf das Anfangselement springt um einer
Funktion den subtree zu übergeben.

Also soll aus der XML-Datei

<gruppe>
<name>Blàh</name>
<child2>...</child2>
[...]
<gruppe>

folgendes gemacht werden:


dim xmlreader as xml.xmlreader = new xml.xmltextreader(XMLfile)
dim dic as new dictionary(of string, meineKlasse)

While xmlreader.read()
if xmlreader.name = "gruppe"
dic.add(xmlreader.readitem("name"),
meineKlassenFunktion(xmlreader.readsubtree)
end while


Damit -um Missverstàndnisse zu vermeiden- der Key "Blàh" zu der klasse
führt, die den Subtree von Gruppe wiederspiegelt.

Wobei **xmlReader.readitem("name")** natürlich ein erfundener Wunschtraum
ist. Es soll das Elenemt "name" von "gruppe" als Key genommen werden, wàhrend
der xmlreader.readsubtree einer Funktion übergeben wird, die ihrerseits den
Subtree als Objekt meiner "home-made-class" wieder gibt.

Gibt es da einen Member von xml.Xmlreader den ich nicht kenne und auch nicht
finde, oder gibt es sopntan Codevorschlàge für eine Funktion die den
Zeiger(?) von xmlReader zurück schieben kann?

Ich hoffe das ist verstàndlich.

Vorab schon vielen Dank für die Hilfe!

Simon Raabe

Ähnliche fragen