我对我的xml字符串反序列化到我的对象有一些麻烦。我没有得到任何错误,但值不填充(值不是null
他们只是""
)。我查看了几个具有相同问题的问题,但这些问题通常由没有定义[XmlRoot]
或的人员组成。Xml使用c中的复杂元素进行反序列化#
这里有点我的XML字符串:
string xmlString = @"<results><dpv_answer value=""Y"" /><zip value=""95118-4007"" /></results>"
这里是功能deseralize:
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; }
}
你有一个空的'catch {}'处理程序,你可能会得到错误但不知道它? – Alfie
我正在逐步使用调试器,我不会进入catch块。 –
无题评论:最好用空格而不是制表符缩进你的代码。 – BartoszKP