C # классы для XML-сериализации

1

Я пытаюсь написать классы С#, которые, когда сериализованные будут формировать эту структуру XML:

<?xml version="1.0" encoding="utf-8"?>
<Main>
  <Current>A34-3</Current>
  <Future>
    <Role>10</Role>
    <Route>T14-3</Route>
    <Route>T14-4</Route>
  </Future>
</Main>

Вот что я до сих пор, но вывод (ниже) не совсем то, что я хочу, как показано выше.

public class Main
{
  public string Current {get; set;}
  public Future Future {get;set;}
}

public class Future 
{
  public string Role {get;set;};
  public string[] Route {get;set;}
}

Это результат, когда я сериализую:

<?xml version="1.0" encoding="utf-16"?>
<Main xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Current>A34-3</Current>
    <Future>
        <Role>10</Role>
        <Route>
          <string>T14-3</string>
          <string>T14-4</string>
        </Route>
    </Future>
</Main>

Кроме того, я попробовал программу xsd.exe в Visual Studio, но созданные классы не совсем то, что я хочу. Может ли кто-нибудь помочь мне в первой структуре?

Теги:
serialization

1 ответ

0
Лучший ответ

Структура прекрасна. Просто украсьте свой массив атрибутом [XmlElement] чтобы сообщить сериализатору, как вести себя.

[XmlElement]
public string[] Route { get; set; }
  • 0
    Вы спасли меня, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню