C# 来自自定义正文xml的WCF CreateMessage

C# 来自自定义正文xml的WCF CreateMessage,c#,wcf,C#,Wcf,我有以下代码: 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();

我有以下代码:

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);
string body=“”;
XDocument doc=XDocument.Parse(body);
MemoryStream stream=新的MemoryStream();
XmlWriter=XmlWriter.Create(流);
if(writer!=null)
{
保存文档(编写器);
writer.Flush();
writer.Close();
}
流位置=0;
XmlReader rd=XmlReader.Create(流);
消息输出=Message.CreateMessage(msg.Version,msg.Headers.Action,rd);
output.Headers.CopyHeadersFrom(msg);
output.Properties.CopyProperties(msg.Properties);
当我尝试使用该消息时,出现以下错误:

十六进制值0x02是无效字符。第1行,位置2


知道为什么吗?我能做些什么来解决这个问题呢?

试试这样的方法:

string body = "<?xml version='1.0'?><custom></custom>";
string body=“”;

首先,您经常需要
标题,正如Marc G所提到的,您的
不是有效的XML;首先,XML标记不能包含空格,其次,打开的标记永远不会关闭。

好吧,
不是格式良好的XML fort初学者吗?感谢您的回复。忽略xml内容。我只是添加了虚拟内容来缩短文章。xml是有效的,问题不在于xml。请记住,插入信封正文的是xml。这是不需要的。