C# 复杂XML的XML序列化和反序列化问题

C# 复杂XML的XML序列化和反序列化问题,c#,xml,serialization,deserialization,xml-deserialization,C#,Xml,Serialization,Deserialization,Xml Deserialization,我的XML 你好,我的名字 你好,我的名字 你好,我的名字 我想将这个xml反序列化到我的类中 课程 public sealed class ServerConfig { public sealed class Server { [XmlAttribute("host")] public string Host { get; set; } // gives me host name [XmlAttribute("port")] public int Port

我的XML

你好,我的名字
你好,我的名字
你好,我的名字

我想将这个xml反序列化到我的类中

课程

public sealed class ServerConfig
{
public sealed class Server
{
    [XmlAttribute("host")]
    public string Host { get; set; } // gives me host name

    [XmlAttribute("port")]
    public int Port { get; set; } // gives my prot number
}

[XmlArray]
public List<Server> Servers { get; set; } // gives me all 4 server lsit

[XmlAttribute("loggingEnabled")]
public int LoggingEnabled { get; set; } // gives me attribute detail

public ServerConfig()
{
    Servers = null;
    LoggingEnabled = 0;
}

}
公共密封类ServerConfig
{
公共密封类服务器
{
[XmlAttribute(“主机”)]
公共字符串Host{get;set;}//提供主机名
[XmlAttribute(“端口”)]
公共int端口{get;set;}//提供我的保护号
}
[XmlArray]
公共列表服务器{get;set;}//提供所有4个服务器lsit
[XmlAttribute(“loggingEnabled”)]
public int LoggingEnabled{get;set;}//提供属性详细信息
公共服务器配置()
{
服务器=null;
LoggingEnabled=0;
}
}
问题

我的问题是我不知道如何访问嵌套元素名和子嵌套元素的属性
FirstName/SecondName

我会非常感激的


谢谢。

最简单的方法是微软在VS 2012以后的版本中提供的,这在这个链接中得到了精彩的解释

您所需要做的就是复制xml,然后按照链接中的说明将special粘贴到类中

快乐编码


谢谢,

您的类与您试图映射的xml完全不同。这样不行。您最好在这里运行
xsd.exe my.xml
,然后运行
xsd.exe/classes my.xsd
Sorry@marcgravel在哪里运行
xsd.exe my.xml,然后运行xsd.exe/classes my.xsd
这些?@marcgravel得到了解决方案检查我的答案:)