XMLReader - wie funktioniert der?

flotschie

Mitglied
Hallo,

ich komme einfach mit dem XMLReader nicht zurecht. Ich verstehe trotz Doku nicht wie er funktionieren soll. Ich habe mal folgenden Code:

Code:
 Try
            request = System.Net.WebRequest.Create(RssFeed)
            IoStream = request.GetResponse.GetResponseStream
            sd = New XmlTextReader(IoStream)
            sd.Read()
            help = sd.Value
            help = sd.ReadOuterXml

            Do
                sd.MoveToContent()
                sd.MoveToFirstAttribute()
                help = sd.Value
                help = sd.ReadOuterXml
                help = sd.Item("item")
            Loop

            help = sd.ReadInnerXml
            help = sd.ReadOuterXml

            help = sd.Item("item")

            IoStream.Close()
            sw2.Close()
        Catch ex As SystemException
            text = ""
        End Try

Das was ich eigentlich will, ist von dem RssFeed einfach alle Inhalte des XML Files , die im Node "Item" stehen, auslesen. Der Node item schaut so aus:

Code:
- <item>
  <title>Biotage AB Acquires Separtis Holding AG for 1.4M Euros (13M SEK) and Completes EU Distribution Consolidation</title> 
  <link>http://www.primezone.com/newsroom/news.html?ref=rss&d=87415</link> 
  <description>STOCKHOLM, Sweden, Oct. 6, 2005 (PRIMEZONE) -- Biotage has acquired Separtis Holding AG, the Swiss, German and Austrian distributor for many Biotage products, formerly the Argonaut Technologies consumable product range. Under the terms of the agreement, Biotage will retain all current Separtis employees, assume the leased facilities in Grenzach-Wyhlen, and own all assets of Separtis, which is based in Grellingen, Switzerland with operating legal entities within Switzerland and Germany. The turnover of the company in 2004 was 1.6M (14.6M SEK) Euros and all revenues were comprised of Biotage-produced products. It is expected the acquisition should result in an annual revenue increase of 7.5M SEK.</description> 
  <guid isPermaLink="true">http://www.primezone.com/newsroom/news.html?ref=rss&d=87415</guid> 
  <pubDate>Thu, 6 Oct 2005 07:09 GMT</pubDate> 
  </item>

Also, ich möchte sagen wir mal zwei Varaiblen deklarieren namens "Inhalt" und "Zeit", und "Inhalt" soll eben der "Description"-Tag zugewiesen werden und "Zeit" halt der Tag "PubDate". Das muss doch ganz einfach gehen?
 

flotschie

Mitglied
Lieber Norbert,

schön, daß du so genau weißt, ob ich in die MSDN geschaut habe oder nicht. In Wahrheit HABE ich in die MSDN geschaut. Bei dem XMLReader gibt es sehr viele Einträge/Methoden, und ich bin die meisten durchgegangen (also alles was mit .Readxxx()) beginnt und dort habe ich immer nur dasselbe Beispiel bekommen, das mir nicht weitergeholfen hat. Dabei dürft ich die einfache Read() Methode übersehen haben, bzw. nicht gecheckt haben, dass die Read() Methode nur bei der Implementierung des XMLReaders als XMLTextReaders genauer in der MSDN beschrieben ist.
 

Norbert Eder

Erfahrenes Mitglied
Eigentlich hätte dir sofort auffallen müssen, dass der XmlReader abstrakt ist. Eine direkte Instanzierung ist daher nicht möglich, ergo kannst mit dem XmlReader auch nicht arbeiten. Diese Tatsache hätte eigentlich in dir die Frage "Da muss es eine Ableitung dazu geben" wecken müssen.

Und nein, ich will dich nicht ärgern, lediglich ein wenig zur Selbständigkeit erziehen.
 

flotschie

Mitglied
Eigentlich hätte dir sofort auffallen müssen, dass der XmlReader abstrakt ist.

Ist es mir aber nicht. Eigentlich hätte dir das auffallen müssen. Das kann glaub ich passieren.

Und nein, ich will dich nicht ärgern, lediglich ein wenig zur Selbständigkeit erziehen.

Ich hab mir das bei voriger Post noch verkniffen aber jetzt kann ich nicht mehr. Du magst vielleicht ein guter Coder sein aber an Menschenkenntnis scheints dir ordentlich zu fehlen. Sonst wüsstest du das obig zitierter Satz bei keinem User gut ankommen kann, und somit seinen gutgemeinten Zweck ordentlich verfehlt. Er steht nur für deine Überheblichkeit, die sich ja wie ein roter Faden durch diese Foren hier zieht (genauso wie die unnötigen regelmässigen Aufforderungen des Herren Sch., sich doch bitte an die Nettiquette zu halten, die sonst nirgendwo, in keinem Forum das ich kenne, in derart penetrantem und überheblichen Stil betrieben werden). Es mögen sich ja einige hier gefallen lassen aber ich sicher nicht mehr. Ich werde mir ein anderes Forum suchen.
 

Christian Kusmanow

Erfahrenes Mitglied
flotschie hat gesagt.:
Ich hab mir das bei voriger Post noch verkniffen aber jetzt kann ich nicht mehr. Du magst vielleicht ein guter Coder sein aber an Menschenkenntnis scheints dir ordentlich zu fehlen. Sonst wüsstest du das obig zitierter Satz bei keinem User gut ankommen kann, und somit seinen gutgemeinten Zweck ordentlich verfehlt. Er steht nur für deine Überheblichkeit
Der Norbert ist nicht überheblich. Ganz sicher nicht.
Er steckt nur schon viel zu tief im Framework drin, so dass solche Fehler für ihn und auch für mich,
einfach nur noch trivial erscheinen. Entschuldige bitte seine Selbstverständlichkeit.
Das war jetzt sicher nicht absolut überheblich. :)
flotschie hat gesagt.:
[...] die sich ja wie ein roter Faden durch diese Foren hier zieht
Das ist absoluter Quatsch (!)
Ich kenn ihn schon seit meiner Anmeldung hier und ich weis ganz genau, dass es nicht so ist.
Gut jetzt war es sicher ein bissel progressiv argumentiert. Aber wie gesagt,
seine Verliebtheit in sein Handwerk und sein Engagement sprechen trotzdem vollends für ihn. :)
Ich hab den Großteil meines Verständnisses für die Dinge an sich,
von ihm gelernt und bin ihm unglaublich dankbar dafür.

Hier in Deutschland bildet die IHK oberflächlich ausgebildete Buchhalter aus
und diese bekommen dann den Fachinformatiker Abschluss.
Ergo 80% IT-Fehlentwicklungen.
Ohne dieses Forum müsste ich mir echt Gedanken machen,
womit ich trotz meines Abschlusses überhaupt Geld verdienen soll,
ohne Schaden in der Wirtschaft zu produzieren (!)
flotschie hat gesagt.:
[...] die sich ja wie ein roter Faden durch diese Foren hier zieht (genauso wie die unnötigen regelmässigen Aufforderungen des Herren Sch., sich doch bitte an die Nettiquette zu halten, die sonst nirgendwo, in keinem Forum das ich kenne, in derart penetrantem und überheblichen Stil betrieben werden).
Wir können froh sein dass es so ist (!)
Es ist schon seltsam warum Du nicht merkst, warum das notwendig ist.
flotschie hat gesagt.:
Es mögen sich ja einige hier gefallen lassen aber ich sicher nicht mehr. Ich werde mir ein anderes Forum suchen.
Das ist natürlich deine Entscheidung. :)
Sag bescheit wenn Du ein besseres gefunden hast. ;-] :rolleyes:
 

TommyMo

Erfahrenes Mitglied
Hm ... ich möchte mich hier keinesfalls einmischen, geht mich auch nichts an, aber ehrlich gesagt halte ich diese Diskussion IM Forum für Informationsverschwendung. Warum regelt ihr das nicht per Mail, oder private Nachrichten? Wenn ich ehrlich bin hätte ich mich schon auf eine Lösung von flotschis problem gefreut ... :)

Soviel zu meinem Spam heute :)

Gruß
TOM
 

Norbert Eder

Erfahrenes Mitglied
flotschie hat gesagt.:
Ist es mir aber nicht. Eigentlich hätte dir das auffallen müssen. Das kann glaub ich passieren.
Doch, es hätte dir sehr wohl auffallen müssen, weil du den XmlReader nicht instanzieren kannst -> der Debugger jammert dir die Ohren voll. Ergo kann ich erwarten dass dir das auffällt. Zudem sieht man sich die Klassen die man verwendet, auch genauer an - man will ja wissen, was sie tut und was sie kann.

flotschie hat gesagt.:
Ich hab mir das bei voriger Post noch verkniffen aber jetzt kann ich nicht mehr. Du magst vielleicht ein guter Coder sein aber an Menschenkenntnis scheints dir ordentlich zu fehlen. Sonst wüsstest du das obig zitierter Satz bei keinem User gut ankommen kann, und somit seinen gutgemeinten Zweck ordentlich verfehlt. Er steht nur für deine Überheblichkeit, die sich ja wie ein roter Faden durch diese Foren hier zieht (genauso wie die unnötigen regelmässigen Aufforderungen des Herren Sch., sich doch bitte an die Nettiquette zu halten, die sonst nirgendwo, in keinem Forum das ich kenne, in derart penetrantem und überheblichen Stil betrieben werden). Es mögen sich ja einige hier gefallen lassen aber ich sicher nicht mehr. Ich werde mir ein anderes Forum suchen.
Du hast anscheinend ein sehr sensibles Gemüt. Du willst kostenlose Hilfe, dann kann ich auch von dir etwas erwarten! Das ist weder überheblich, noch arrogant. Und wird auf bestimmte Dinge nicht aufmerksam gemacht, dann lernt der Fragesteller nichts. Ich erwarte, dass du die Basics lernst und auf die Meldungen die dein Debugger wirft achtest. Das wird doch wohl nicht zuviel verlangt sein?

Und nein, ich bin nicht zu tief drinnen, um nicht zu wissen wie ich meine Antwort formulieren kann. Ich erwarte nur ein wenig Selbständigkeit. Immerhin soll der Fragesteller dabei auch etwas lernen - und das tut er nur dann, wenn er mit Hilfe der Antwort auch ein wenig drüber nachdenkt.