Сериализация XML списков - PullRequest
2 голосов
/ 13 июля 2011

Я какое-то время играл с сериализацией xml, и у меня возникла проблема с сериализацией коллекции списков.Я хочу сериализовать коллекцию списков без обтекания верхнего элемента.См. Пример ниже:

Результат сериализации:

<?xml version="1.0" encoding="utf-8" ?>
<Person>
  <Name>John</Name>
  <AddressLine>
    <string>Line 1</string>
    <string>Line 2</string>
    <string>Line 3</string>
  </AddressLine>
  <Telephone>123456789</Telephone>
</Person>

Я хочу вывести сериализацию:

<?xml version="1.0" encoding="utf-8" ?>
<Person>
  <Name>John</Name>
  <AddressLine>Line 1</AddressLine>
  <AddressLine>Line 2</AddressLine>
  <AddressLine>Line 3</AddressLine>
  <Telephone>123456789</Telephone>
</Person>

Я попытался установить различные атрибуты для моего класса IЯ из сериализации, но я не могу получить с этим никуда.Если бы кто-нибудь мог показать мне, какие атрибуты мне нужно использовать, чтобы моя сериализация xml выглядела как выходной xml, который я хочу, я был бы очень признателен.

Приветствия!

1 Ответ

4 голосов
/ 13 июля 2011
[Serializable]
public class Person
{
    public string Name { get; set; }

    [XmlElement]
    public List<string> AddressLine { get; set; }
}

Дает желаемый результат:

<?xml version="1.0"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>John</Name>
  <AddressLine>1</AddressLine>
  <AddressLine>2</AddressLine>
  <AddressLine>3</AddressLine>
</Person>
...