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!
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!
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);
...
string xmlText = ... your XML ...;
XmlReaderSettings settings = ... your settings ...;
StringReader stringReader = new StringReader(xmlText);
XmlTextReader xmlReader = XmlReader.Create(stringReader, settings);
...
Joe
Wednesday, July 19, 2006
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);
MemoryStream memStream = new MemoryStream();
byte [] data = Encoding.Unicode.GetBytes(theString);
memStream.Write(data, 0, data.Length);
Foxedup
Wednesday, July 19, 2006
Wednesday, July 19, 2006
This topic is archived. No further replies will be accepted.