使用 xml 序列化程序从 xml 中排除根节点

Exclude root node from xml using xmlserializer

我有一个嵌套的 class,我使用 xml 序列化程序将其转换为 xml。

public class RequestModel{

        [XmlElement("message", Namespace = "http://www.origostandards.com/schema/mtg/v2")]
        public Message message { get; set; }

        public RequestModel()
        {
            this.message = new Message();
        }
        public class Message
        {
           //other constructor here etc
        }
}

当它序列化时,所有编译都没有问题,但输出如下:

<RequestModel>
   <mtg:message>
   ...
   </mtg:message>
</RequestModel>

有没有办法从序列化中排除 class 名称,以便消息成为顶级节点并且输出如下所示:

<mtg:message>
  ...
</mtg:message>

我尝试添加一个布尔值以查看节点以及 XmlIgnore 和 XmlRoot 等内容,但这些属性并不真正适合我的解决方案。

如有任何帮助,我们将不胜感激。

尝试不同的 c# 命名空间:

namespace RequestA
{
    public class RequestModel
    {

        [XmlElement("message", Namespace = "http://www.origostandards.com/schema/mtg/v2")]
        public Message.Message message { get; set; }

        public RequestModel()
        {
            this.message = new Message.Message();
        }
     }
}
namespace RequestB
{

    public class RequestModel
    {
        [XmlElement("message", Namespace = "http://www.origostandards.com/schema/mtg/v2")]
        public Message.Message message { get; set; }

        public RequestModel()
        {
            this.message = new Message.Message();
        }
    }
}
namespace Message
{
        public class Message
        {
            //other constructor here etc
        }

}