0
我需要獲得以下XML:裝飾的Xml類名上的XmlSerializer
<request id="1">
<login>
<username>username</username>
<password>password</password>
</login>
</request>
但中間XML可以換到另一種類型的請求像
<request id="1">
<logout />
</request>
我試過如下:
[XmlRootAttribute(ElementName = "request", Namespace = "", IsNullable = false)]
public class Request<T>
{
[XmlAttributeAttribute(AttributeName = "id", Namespace = "")]
public string Id { get; set; }
public T Content { get; set; }
}
[XmlTypeAttribute(TypeName = "login", AnonymousType = true)]
public class LoginRequest
{
[XmlElementAttribute(ElementName = "username", Namespace = "")]
public string Username;
[XmlElementAttribute(ElementName = "password", Namespace = "")]
public string Password;
}
[XmlTypeAttribute(TypeName = "logout", AnonymousType = true)]
public class LogoutRequest
{
}
但是當我使用序列化對象
var serializer = new XmlSerializer(typeof(Request<LoginRequest>));
我得到了以下XML:
<request id="1">
<Content>
<username>username</username>
<password>password</password>
</Content>
</request>
如何重新命名的標籤內容,以登錄或註銷?
非常感謝