0

以下は、ASP.NETWebAPIサービス呼び出しの応答を表すクラスです。

public class User
{
   public string FirstName {get;set;}

   public long FirstNameLastModified {get;set;}

   public string LastName {get;set;}

   public long LastNameLastModified {get;set;}

}

この問題とは関係のない理由で、私は現在、デフォルトのDataContractSerializerではなくXmlSerializerです。

ここでレンダリングされる応答は、形式です。

最後に変更された値はタイムスタンプであり、フィールドに関連しています。

<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>

どうすればいいですか?

4

2 に答える 2

3
public class Foo<T>
{
    [XmlText]
    public T Value;
    [XmlAttribute]
    public int LastModified;
}

public class User
{
    public Foo<string> FirstName;
    public Foo<string> LastName;
}
于 2013-01-11T17:32:43.820 に答える
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; }
}
于 2013-01-11T17:32:59.977 に答える