EADever Ответов: 2

Как я мог бы сделать эквивалент java xmlelements в C#


Привет, я хотел бы сделать xmlelements как java в коде c#.
У меня есть такая модель java:

@XmlElements({ @XmlElement(name = "form", type = FormCondition.class), @XmlElement(name = "idianchargeweapon", type = IdianChargeCondition.class) })
	protected List<Condition> conditions;


Есть ли какие-то решения для моей проблемы? если да, то мне нужен пример модели в коде c#.

Спасибо за ваше чтение и помощь

Что я уже пробовал:

Как я знаю, в c# не существует [XmlElement " s"]

lw@zi

Не могли бы вы обновить вопрос с помощью примера XML? Кстати, в C# действительно есть XMLElement атрибут.

EADever

Мне просто нужно поместить элементы в 1 элемент и они находятся в 1 коллекции списков

2 Ответов

Рейтинг:
15

lw@zi

Вам нужно будет украсить Condition класс с соответствующими атрибутами C#. Класс должен иметь XMLType(Name="NameOfChoice") атрибут. Все свойства, которые необходимо сериализовать в виде XML-атрибутов, должны быть оформлены с помощью XMLAttribute(Name="AttributeName").

Во время сериализации вы можете использовать это:

new XmlSerializer(typeof(List<Condition>), new XmlRootAttribute("Conditions"));


После сериализации ваш XML-файл будет выглядеть следующим образом:

<Conditions>
<NameOFChoice AttributeName="ValueOfAttribute" />
<NameOFChoice AttributeName="ValueOfAttribute" />
<NameOFChoice AttributeName="ValueOfAttribute" />
</Conditions>


Рейтинг:
1

PragyaSharma

есть система.Пространство имен Xml в c# также предоставляет все связанные с XMl возможности. например. у нас есть класс XmlNode, содержащий XmlElement, XmlNodeType и т. д.