我需要生成一个如下所示的XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<inboundMessage xmlns="http://www.myurl.net">
<header>
<password>mypwd</password>
<subscriberId>myuser</subscriberId>
</header>
<message xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="myType">
<eventDate>2012-09-05T12:13:45.561-05:00</eventDate>
<externalEventId />
<externalId>SomeIdC</externalId>
</message>
</inboundMessage>
问题是我不知道如何在我的标签中包含xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”xsi:type =“myType” . 我需要序列化的类是这样的:
[XmlType("inboundMessage")]
[XmlRoot(Namespace = "http://www.myurl.net")]
public class InboundMessage
{
[XmlElement(ElementName = "header")]
public Header _header;
[XmlElement(ElementName = "message")]
public List<MyType> _messages;
}
我需要将哪些XmlAttributes添加到我的“_messages”成员中,以便按照我想要的方式进行序列化?
TIA,Ed
2 回答
像这样使用
XmlAttribute
:我的一个coleague提出了一个类似的解决方案,但更完整 . MyType添加了两个属性:
_type的定义如下:
然后序列化以不同的方式完成:
最后,InboundMessage的装饰如下:
通过这种方法,我得到了我需要的东西 .