• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 388
  • Last Modified:

From stream to (xml) string problem with chars\encoding

Hi,
i getting stream message (from biztalk) in this case, convert it to string and load it to xmldocument.
im getting data at root level is invalid.
when i debug the code, i can see there are chars (???? question marks) beside the xml like:

--------------------------
Invalid at the top level of the document. Error processing resource 'file:///C:/Documents and Settings/eladro/Local Setting...

??<
^
-------------------------
how it can be solved??
thanks.

this is my simple code:
----------------------------------------------
IBaseMessagePart bodyPart = inmsg.BodyPart;
System.IO.Stream originalStrm = bodyPart.GetOriginalDataStream();

byte[] buffer = new byte[originalStrm.Length];
originalStrm.Read(buffer, 0, Convert.ToInt32(originalStrm.Length));
XMLData = System.Text.ASCIIEncoding.ASCII.GetString(buffer);

XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(XMLData);
----------------------------------------------
0
eladr
Asked:
eladr
  • 2
  • 2
1 Solution
 
kjetilroeCommented:

Are you sure that the encoding is ASCII, and not UTF-8?

I know that those codes usually describe what encoding the string is in, and usually XML is encoded in UTF-8.

System.Text.Encoding.UTF8.GetString(buffer);

Hope this helps.

Kjetil
0
 
eladrAuthor Commented:
same error...
0
 
kjetilroeCommented:
First of all:

The BizTalk server defaults to encoding the xml to UTF-8, unless you have overridden that setting in your BizTalk server.

Ok, another solution:

Why dont you take the stream right into your xml document like this:

XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(originalStrm);

Kjetil
0
 
eladrAuthor Commented:
10x
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now