我有以下代码:
string body = "<custom xml>";
XDocument doc = XDocument.Parse(body);
MemoryStream stream = new MemoryStream();
XmlWriter writer = XmlWriter.Create(stream);
if (writer != null)
{
doc.Save(writer);
writer.Flush();
writer.Close();
}
stream.Position = 0;
XmlReader rd = XmlReader.Create(stream);
Message output = Message.CreateMessage(msg.Version, msg.Headers.Action, rd);
output.Headers.CopyHeadersFrom(msg);
output.Properties.CopyProperties(msg.Properties);
当我尝试使用该消息时,我收到以下错误:
十六进制值0x02,是无效字符。第1行,第2位。
知道为什么吗?我能做些什么来解决这个问题?
答案 0 :(得分:0)
尝试这样的事情:
string body = "<?xml version='1.0'?><custom></custom>";
首先,您经常需要<?xml version='1.0'?>
标头,正如Marc G.已经提到的那样,您的<custom xml>
不是有效的XML;首先,XML标签不能包含空格,其次打开的标签永远不会关闭。