c#Xml序列化问题

时间:2012-01-22 11:40:24

标签: c# xml

我有一个xml file.i需要序列化为c#class。

<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; }
        }

我获得了Certification类及其值的价值。 我为Configuration创建了一个对象并循环

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

这是有效的

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

   Foreach (Path serviceUrl in obj.Services)
    {
    }

obj.Services为空

如何在路径中获取url和ID节点的值?

由于

1 个答案:

答案 0 :(得分:2)

您的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; }
}