c#XmlSerializer键入对象列表

时间:2017-07-11 10:00:25

标签: c# deserialization xmlserializer

我遇到的问题是我从REST服务获取了xml,并且必须将其反序列化为对象结构,并且其中有一个type =“proglang”。

<listResult>
   <listEntry xsi:type="proglang">
      <id>0</id>
      <name>C#</name>
   </listEntry>
   <listEntry xsi:type="proglang">
      <id>0</id>
      <name>C#</name>
   </listEntry>
</listResult>

具有xml属性的对象模型应该如何在c#中显示?

我的代码到目前为止:

[XmlRoot("listResult")]
public class ListResult
{
    [XmlElement("listEntry")]
    //[XmlArrayItem(Type=typeof(proglang))]
    public List<proglang> listEntry;
}

public class proglang
{
    [XmlElement("code")]
    public int id;
    [XmlElement("label")]
    public string name;
}

以及序列化生成的XML:

<listResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <listEntry>
    <code>1</code>
    <label>C#</label>
  </listEntry>
  <listEntry>
    <code>1</code>
    <label>C++</label>
  </listEntry>
</listResult>

0 个答案:

没有答案