我在将 xml 字符串反序列化为对象时遇到了一些麻烦。我没有收到任何错误,但没有填充值(这些值不是null
它们只是""
)。我查看了一些具有相同问题的问题,但这些问题通常由没有定义[XmlRoot]
或[XmlElement]
定义的人组成。
这是我的一些 xml 字符串:
string xmlString = @"<results><dpv_answer value=""Y"" /><zip value=""95118-4007"" /></results>"
这是反序列化的功能:
StandardAddress address = new StandardAddress();
using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
{
try
{
address = (StandardAddress)new XmlSerializer(typeof(StandardAddress)).Deserialize(reader);
}
catch (InvalidOperationException x)
{
// String passed is not XML, simply return defaultXmlClass
}
}
return address;
这是对象声明的一部分:
[XmlRoot("results")]
public class StandardAddress
{
[XmlElement(ElementName = "dpv_answer")]
public string dpv_answer { get; set; }
[XmlElement(ElementName = "zip")]
public string zip { get; set; }
}