强制使用特定的xml对象序列化格式

时间:2012-02-09 09:56:09

标签: c# xml

我在我的一个对象上使用C#序列化:

   StringWriter outStream = new StringWriter();
   XmlSerializer s = new XmlSerializer(obj.GetType());
   XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
   s.Serialize(outStream, obj, ns);
   string xml = outStream.ToString();

对象是:

public class Points
{
    [System.Xml.Serialization.XmlAttribute]
    public string Type;
    public double Number;
}

我的Points类正在被其他程序使用,希望以下列形式出现:

 <Points Type="Credit">123</Points>

如果我可以使用任何属性强制使用这种格式,我试图工作?

由于

1 个答案:

答案 0 :(得分:1)

我认为您需要在数字字段中使用[System.Xml.Serialization.XmlText]属性,就像使用类型上的XmlAttribute一样:

public class Points
{
    [System.Xml.Serialization.XmlAttribute]
    public string Type;
    [System.Xml.Serialization.XmlText]
    public double Number;
}