使用带有前缀问题的 System.Xml.Serialization 命名空间的 C# 反序列化器
C# Deserializer using System.Xml.Serialization namespace with prefix issue
我有这个 xml,我正在尝试将其反序列化为 class,但我无法创建正确的 class 。 xml 是:
<?xml version="1.0" encoding="ISO-8859-1"?>
<AnswersPP s="DSD" lst="11/22/2016 1:08:39 PM" n="1">
<Results xmlns:ssud="www.solacestar.ud>
<ssud:starlist>
<ssud:star id="4234234">
<span style="white-space: nowrap">#NOMA, MAJOR</span>
</<ssud:star>
<ssud:star id="2352234">
<span style="white-space: nowrap">#NOMA, MINOR</span>
</<ssud:star>
</ssud:starlist>
</Results>
<Error/>
</AnswersPP>
我有的是:
[XmlRoot("AnswersPP")]
public class AMDResponseDto
{
[XmlElement("Results")]
public Results Results { get; set; }
[XmlElement("Error")]
public Error Error { get; set; }
}
public class Results
{
[XmlElement("starlist")]
public StarList StarList { get; set; }
}
public class StarList
{
[XmlElement("star")]
public List<Star> Data { get; set; }
}
public class Star
{
[XmlAttribute("id")]
public string Id { get; set; }
}
我知道是命名空间让我感到困惑,但我尝试过的任何东西都不起作用。有谁知道我需要做什么?
只需在 XMLAttribute 和 XmlElement 注释中添加命名空间即可。
我有这个 xml,我正在尝试将其反序列化为 class,但我无法创建正确的 class 。 xml 是:
<?xml version="1.0" encoding="ISO-8859-1"?>
<AnswersPP s="DSD" lst="11/22/2016 1:08:39 PM" n="1">
<Results xmlns:ssud="www.solacestar.ud>
<ssud:starlist>
<ssud:star id="4234234">
<span style="white-space: nowrap">#NOMA, MAJOR</span>
</<ssud:star>
<ssud:star id="2352234">
<span style="white-space: nowrap">#NOMA, MINOR</span>
</<ssud:star>
</ssud:starlist>
</Results>
<Error/>
</AnswersPP>
我有的是:
[XmlRoot("AnswersPP")]
public class AMDResponseDto
{
[XmlElement("Results")]
public Results Results { get; set; }
[XmlElement("Error")]
public Error Error { get; set; }
}
public class Results
{
[XmlElement("starlist")]
public StarList StarList { get; set; }
}
public class StarList
{
[XmlElement("star")]
public List<Star> Data { get; set; }
}
public class Star
{
[XmlAttribute("id")]
public string Id { get; set; }
}
我知道是命名空间让我感到困惑,但我尝试过的任何东西都不起作用。有谁知道我需要做什么?
只需在 XMLAttribute 和 XmlElement 注释中添加命名空间即可。