/ / Принуждаване на конкретен формат за сериализация на XML обект - c #, xml

Принуждаване на конкретен формат за сериализация на XML обект - 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 за отговор № 1

Мисля, че трябва да използвате [System.Xml.Serialization.XmlText] атрибут в полето Номер, както правите с XmlAttribute на типа:

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