我對我的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