У меня есть класс, который среди других свойств имеет список MyObject.XmlArray Serialization - Как заставить сериализатор игнорировать имя класса элементов в списке?
public class MyClass
{
...
[XmlArray("OBJECT")]
public List<MyObject> Objects { get; set; }
...
}
Каждый объект MyObject имеет два свойства: PropA и PropB.
public class MyObject
{
public string PropA {get;set;}
public string PropB {get;set;}
}
XML-Serializer возвращает этот XML:
<OBJECT>
<MyObject>
<PropA>A1</PropA>
<PropB>B1</PropB>
</MyObject>
<MyObject>
<PropA>A2</PropA>
<PropB>B2</PropB>
</MyObject>
<MyObject>
<PropA>A3</PropA>
<PropB>B3</PropB>
</MyObject>
</OBJECT>
Мои данные требования предназначены для того, чтобы выглядеть следующим образом (я клянусь, она выглядит гораздо менее неправильно, учитывая реальные имена объектов и значений свойств , но независимо от того, это моя задача):
<OBJECT>
<PropA>A1</PropA>
<PropB>B1</PropB>
<PropA>A2</PropA>
<PropB>B2</PropB>
<PropA>A3</PropA>
<PropB>B3</PropB>
</OBJECT>
Каков наилучший способ добиться этого? Я попытался объединиться с различными атрибутами Xml (например, XmlArrayItem, XmlElement), но я не могу избавиться от оболочки класса.
Я рассмотрел обычную сериализацию XML, но мне не хотелось выбрасывать всю (рабочую) сериализацию по умолчанию Xml, которая происходит в других свойствах с атрибутом XmlElement для каждого из них.
Любые мысли?
спасибо.
EDIT: Это не дубликат, если вы имеете в виду ссылку, которую рассылаете xDaevax. (XML Serialization - Disable rendering root element of array). Этот вопрос/ответ не спрашивает/не решает, как избавиться от имен классов предметов (теги вокруг каждого элемента в списке), он показывает, как избавиться от общего тега списка, который охватывает весь список элементов. Я хочу точно обратить вспять. Если есть еще одна ссылка на аналогичный, ответный вопрос, я бы с удовольствием узнал. Спасибо.
Я думаю, что это был дан ответ здесь: http://stackoverflow.com/questions/2006482/c-sharp-xml-serialization-disable-rendering-root-element-of-array – xDaevax
К сожалению, нет. Что касается моей проблемы, это решение избавляет от тегов OBJECT, а не тегов MyObject. Однако, спасибо. –