c#XmlSerializer类型化对象列表
我的问题是,我从REST服务获取xml,并且必须将其反序列化为对象结构,其中有一个type=“proglang”c#XmlSerializer类型化对象列表,c#,deserialization,xmlserializer,C#,Deserialization,Xmlserializer,我的问题是,我从REST服务获取xml,并且必须将其反序列化为对象结构,其中有一个type=“proglang” 您可以向我们展示您现有的C#代码吗?这样REST服务xml就不会声明xsi命名空间了?没有可用的xsi,但它是一个带有id和名称的类。该xml在语法上是无效的。从未声明前缀为xsi的命名空间。上传到,您将看到错误第2行第35列:与元素类型“listEntry”关联的属性“xsi:type”的前缀“xsi”未绑定。是否确实无效,或者您只是省略了xmlns:xsi=“”http://ww
您可以向我们展示您现有的C#代码吗?这样REST服务xml就不会声明
xsi
命名空间了?没有可用的xsi,但它是一个带有id和名称的类。该xml在语法上是无效的。从未声明前缀为xsi
的命名空间。上传到,您将看到错误第2行第35列:与元素类型“listEntry”关联的属性“xsi:type”的前缀“xsi”未绑定。
是否确实无效,或者您只是省略了xmlns:xsi=“”http://www.w3.org/2001/XMLSchema-instance“
在问题中键入XML时的属性?如果XML有效,则可以沿中的单个对象代理属性行引入代理psuedo多态对象[]
数组属性。”。但是如果XML真的是无效的,那将毫无帮助。
<listResult>
<listEntry xsi:type="proglang">
<id>0</id>
<name>C#</name>
</listEntry>
<listEntry xsi:type="proglang">
<id>0</id>
<name>C#</name>
</listEntry>
</listResult>
[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;
}
<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>