How do you convert a String object to Stream (type) object?

I know it is more common to do the conversion in the other direction, but for me it is definitely the other way.

I have a web service input parameter of type string.  This parameter is actually an xml document payload. Why this is so is a long story.

Anyway, I need to validate it.  I've written xml validation code in the past.  The one real stumbling block here isd this data type conversion.

I'm at a bit of a loss how to do this.  Ultimately I need to get the data into an XmlReader object coupled with the XmlReadersettings object (this is a .net 2.0 asp.net app).  Looking at the object model for various System.XML namespace objects this does not appear to be a straightforward task.

Short of writing the string to disk and then opening it up with a FileStream object,there's got to be a better way.  Anyone have a better idea?

Thanks!
Mr Bungle How to convert a String to Stream
Tuesday, July 18, 2006
 
 
Implement a class derived from stream, i.e. declare a StringStream class, use your string to construct it, and implement the various abstract methods declared in Stream such as Read and CanWrite.
Christopher Wells How to convert a String to Stream
Tuesday, July 18, 2006
 
 
Use the StringReader class, e.g.

string xmlText = ... your XML ...;
XmlReaderSettings settings = ... your settings ...;

StringReader stringReader = new StringReader(xmlText);
XmlTextReader xmlReader = XmlReader.Create(stringReader, settings);
...
Joe
Wednesday, July 19, 2006
 
 
There is also the MemoryStream object, convert your string into an array of bytes and write directly into the memorystream.

MemoryStream memStream = new MemoryStream();
byte [] data = Encoding.Unicode.GetBytes(theString);
memStream.Write(data, 0, data.Length);
Foxedup
Wednesday, July 19, 2006
 
 
The System.IO.StringReader object worked like a charm and just required a single line of additional code.  What a relief! Thanks for all the helpful replies.
Mr Bungle How to convert a String to Stream
Wednesday, July 19, 2006
 
 

This topic is archived. No further replies will be accepted.

相关文章:

  • 2021-05-29
  • 2022-12-23
  • 2021-06-05
  • 2022-12-23
  • 2022-03-07
  • 2021-11-27
  • 2021-06-29
  • 2021-12-06
猜你喜欢
  • 2022-02-28
  • 2022-01-30
  • 2022-02-15
  • 2021-09-14
  • 2022-01-15
  • 2022-12-23
  • 2021-11-17
相关资源
相似解决方案