用于XML Serialize的C#类

时间:2015-03-26 02:36:41

标签: c# xml serialization

我正在尝试编写C#类,在序列化时将形成这种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>

另外,我在Visual Studio中尝试了xsd.exe程序,但生成的类并不是我想要的。 有人可以帮助我首先列出结构吗?

1 个答案:

答案 0 :(得分:0)

结构很好。只需使用[XmlElement]属性修饰数组即可告诉序列化程序如何表现。

[XmlElement]
public string[] Route { get; set; }