使用 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
}
}
我有一个嵌套的 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
}
}