Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

String or STring Array?

Posted on 2013-06-24
9
414 Views
Last Modified: 2013-06-24
I am doing an HTTP Request and

This code below outputs the StreamResponse in a StreamReader

In a Debug.WriteLile it looks like regular XML

So...
Is outputdata a string or an array?

Dim outputData As New [String](readBuff, 0, count)

THis is what outputs in a Debug.WriteLine
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<org.m5.api.v1.Response xmlns:m5="http://www.m5net.com/org/m5/data/v2/cti" xmlns:csta="http://www.ecma-international.org/standards/ecma-323/csta/ed5">
    <ErrorCount>0</ErrorCount>
    <Id>1</Id>
</org.m5.api.v1.Response>
0
Comment
Question by:lrbrister
  • 4
  • 4
9 Comments
 
LVL 42

Expert Comment

by:sedgwick
ID: 39271456
can u post the whole code please?
btw, if u use ReadToEnd() of the StreamReader, u gonna get the whole xml as a string.
for example:
Dim response As WebResponse = webRequest.GetResponse()
Dim responseStream As Stream = response.GetResponseStream()
Dim responseReader As New StreamReader(responseStream)
Dim responseString As String = responseReader.ReadToEnd()

Open in new window

0
 

Author Comment

by:lrbrister
ID: 39271497
Sedgwick

here you go
The part in question is
Dim outputData As New [String](readBuff, 0, count)



Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
 While streamResponse.CanRead
	Dim streamRead As New StreamReader(streamResponse)
 	Dim readBuff(2560) As [Char]
	Dim count As Integer = streamRead.Read(readBuff, 0, 2560)
	Dim line As String = ""
	Debug.WriteLine(ControlChars.Cr + "Characters Returned " + CStr(count))
	If count = 0 Then
		GoTo Resend
	Else
		Dim outputData As New [String](readBuff, 0, count)
		Debug.WriteLine(ControlChars.Cr + "The contents of the returned data are :  ")
 		Debug.WriteLine(ControlChars.Cr + outputData + vbCrLf)
                 
	End If
 End While

Open in new window

0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39271531
try this:
Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
Dim responseReader As New StreamReader(streamResponse)
Dim responseString As String = responseReader.ReadToEnd()
Debug.WriteLine(ControlChars.Cr + "The contents of the returned data are :  ")
Debug.WriteLine(ControlChars.Cr + responseString + vbCrLf)

Open in new window

0
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
LVL 83

Expert Comment

by:CodeCruiser
ID: 39271557
>Is outputdata a string or an array?

You are creating a new instance of string from a byte array so its a string.
0
 

Author Comment

by:lrbrister
ID: 39271569
sedgewick,
  Huh?

My code works.
I just want to know if that's an array?
0
 
LVL 42

Accepted Solution

by:
sedgwick earned 500 total points
ID: 39271594
i know it works, just saying u dont need to read chunks from the response u can read to the end of the stream.

for your question, outputData  is string not an array,
0
 

Author Comment

by:lrbrister
ID: 39271616
sedgeweck

I'm getting it back in chunks from the ResponseSTream
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 39271674
ok, didn't know that.
hope i was helpful anyway.
cheers
0
 

Author Closing Comment

by:lrbrister
ID: 39271698
That's what I wanted. Thanks
0

Featured Post

How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question