c#Xml序列化问题

本文关键字:问题 序列化 c#Xml | 更新日期: 2023-09-27 18:20:57

我有一个xml文件。我需要序列化到c#类。

<Configs>
     <Services>
    <Path>
      <Url>test</Url>
      <ID>1234</ID>
    </Path>
      <Path>
      <Url>java</Url>
      <ID>1234</ID>
    </Path>
    </Services>
    <Certification>
      <name>Mark</name>
      <name>Peter</name>
    </Certification>
    </Configs>
  </Configuration>

我需要将其序列化为一个类

我已经写好了下面的课。

 public class Configuration
        {
            public Certification Configs { get; set; }
            public Path[] Services { get; set; }
        }
        public class  Certification
        {
            [XmlArray("Certification")]
            [XmlArrayItem("name")]
            public string[] name { get; set; }
          }
        public class Path
        {
            public string Url { get; set; }
            public string ID { get; set; }
        }

我得到了证书等级的价值和它的价值。我为Configuration创建了一个对象并循环

foreach (string Name in obj.Configs.name)
{
}

这是有效的

但我没有得到服务的价值。在obj.services上获取null无效

   Foreach (Path serviceUrl in obj.Services)
    {
    }

obj.Services为空

如何获取Path中url和ID节点的值?

感谢

c#Xml序列化问题

您的Services数组位于错误的类中。它应该在根类的Configs属性内:

public class Configuration
{
    public Certification Configs { get; set; }
}
public class Certification
{
    [XmlArray("Certification")]
    [XmlArrayItem("name")]
    public string[] name { get; set; }
    public Path[] Services { get; set; }
}