Toon posts:

[vb2005.net] XML reader

Pagina: 1
Acties:
  • 35 views sinds 30-01-2008

Verwijderd

Topicstarter
Hey,

Via curl verstuur ik een verzoek naar een website waar ik een reactie in XML in een string van terug krijg:

stel dat ik dit terug krijg:
code:
1
2
3
4
5
<?xml version="1.0"?>
<Author>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
</Author>


en ik wil de firstname in een string zetten:
code:
1
2
3
4
        Dim m_xmlr As XmlTextReader = New XmlTextReader(XmlStr)
        m_xmlr.Read()

        DimFirstName = m_xmlr.ReadElementString("FirstName")

Maar dit werkt dus niet

ik krijg de fout:

New XmlTextReader(XmlStr) -->
Error 1 Overload resolution failed because no accessible 'New' can be called without a narrowing conversion:

'Public Sub New(url As String)': Argument matching parameter 'url' narrows from 'Object' to 'String'.
'Public Sub New(input As System.IO.TextReader)': Argument matching parameter 'input' narrows from 'Object' to 'System.IO.TextReader'.
'Public Sub New(input As System.IO.Stream)': Argument matching parameter 'input' narrows from 'Object' to 'System.IO.Stream'.1

Wie kan mij vertellen wat ik fout doe?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 13-02 21:58

mulder

ik spuug op het trottoir

Wat voor type variable is XmlStr? Heb je Option Strict oid uitstaan?

oogjes open, snaveltjes dicht


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
De fout vertelt je EXACT wat er mis is; wat voor type is XmlStr? Het is in ieder geval geen van de 3 gegeven types; String, 'System.IO.TextReader' of 'System.IO.Stream'.

Programmeren is (o.a.) ook de kunst van het begrijpen van foutmeldingen; en deze is klink-klaar duidelijk.

[ Voor 23% gewijzigd door RobIII op 18-09-2006 14:57 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Dim XmlStr As String = System.Text.Encoding.UTF8.GetString(buf)

die buf krijg ik in een funcite als volgt terug van curl:
ByVal buf() As Byte

Ik had trouwens een typ foutje gemaakt waardoor ik nu een andere fout krijg:
New XmlTextReader(XmlStr) --> Illegal characters in path.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 18 september 2006 @ 14:57:
Ik had trouwens een typ foutje gemaakt waardoor ik nu een andere fout krijg:
New XmlTextReader(XmlStr) --> Illegal characters in path.
Je moet een pad naar een XML document meegeven aan de constructor van XmlTextReader, geen XML document (als je een enkele string passed). Dat is toch duidelijk uit de documentatie en af te leiden uit de foutmelding?

[ Voor 17% gewijzigd door RobIII op 18-09-2006 15:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ok, duidelijk.

hoe zou ik dan info uit die string kunnen halen?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 18 september 2006 @ 15:02:
Ok, duidelijk.

hoe zou ik dan info uit die string kunnen halen?
Kom op. Duik zelf eens de documentatie in. We zijn hier niet om je aan je handje te houden. Heb je het uberhaupt al geprobeerd? Wat werkt er niet? Welke foutmelding?
Als je niet wat meer inzet gaat tonen gaat dit topic (wederom) op slot; dit schiet namelijk niet op. We zitten hier niet om jou een persoonlijke 1-op-1 cursus programmeren in VB.net te geven of om je code te debuggen. En dat is je vaak genoeg verteld inmiddels.

edit:
whoami was het klaarblijkelijk ook al beu ;)
:w

[ Voor 20% gewijzigd door RobIII op 18-09-2006 15:05 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • whoami
  • Registratie: December 2000
  • Nu online
sorry hoor, maarr dit is dus gewoon een gevalletje: foutmelding lezen en interpreteren.

Zoals je uit de foutmelding kan zien heb je 3 overloads: eentje met een string, en ook een met een Stream. Je kan makkelijk een stream maken als je een byte array krijgt.

Dit is dus gewoon een kwestie van met de MSDN te leren omgaan.
Als je wilt programmeren, is dat één van de dingen waar je moet mee kunnen omgaan: documentatie leren lezen en gebruiken. Als je dat niet kan, of niet wilt kunnen, kan je maar beter iets anders gaan doen.

[ Voor 24% gewijzigd door whoami op 18-09-2006 15:05 ]

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.