以下是一个表示ASP.NET Web API服务调用响应的类。
public class User
{
public string FirstName {get;set;}
public long FirstNameLastModified {get;set;}
public string LastName {get;set;}
public long LastNameLastModified {get;set;}
}
我目前是XmlSerializer而不是默认的DataContractSerializer,原因与此问题无关。
此处呈现的响应属于表单形式。
最后修改的值是时间戳,与字段相关。
<User>
<FirstName>Phill<FirstName>
<FirstNameLastModified>12<FirstNameLastModified>
<LastName>Haack<LastName>
<LastNameLastModified>16<LastNameLastModified>
</User>
我希望将XML呈现为
<User>
<FirstName lastModified="12">Phill<FirstName>
<LastName lastModified="16">Haack<LastName>
</User>
我应该怎么做?
答案 0 :(得分:3)
public class Foo<T>
{
[XmlText]
public T Value;
[XmlAttribute]
public int LastModified;
}
public class User
{
public Foo<string> FirstName;
public Foo<string> LastName;
}
答案 1 :(得分:2)
这样的事情:
public class User
{
[XmlElement("FirstName")]
public Name FirstName { get; set; }
[XmlElement("LastName")]
public Name LastName { get; set; }
}
public class Name
{
[XmlText]
public string Name { get; set; }
[XmlAttribute("lastModified")]
public long Modified { get; set; }
}