我正在使用asp.net(C#)網站,我想要Deserialize
的XML
字符串使用XmlSerializer
類。反序列化XML在C#中的對象XmlRoot不工作
我的模型(cs文件)
[XmlRoot("MedicalClearanceFormRoot")]
public class MedicalClearanceViewModel
{
[XmlAttribute("PassengerName")]
public string PassengerName { get; set; }
[XmlAttribute("Gender")]
public string Gender { get; set; }
[XmlAttribute("Age")]
public string Age { get; set; }
[XmlAttribute("PhoneNo")]
public string PhoneNo { get; set; }
[XmlAttribute("Email")]
public string Email { get; set; }
[XmlAttribute("BookingRefNo")]
public string BookingRefNo { get; set; }
}
XML字符串
<MedicalClearanceFormRoot>
<MedicalClearanceForm PassengerName="AAAAAAAAAAAAA" Age="11" PhoneNo="TTTTTTTTTTT" Email="ZZZZZZZZZZZZZZZZZZZ" BookingRefNo="11111111111111111111" />
</MedicalClearanceFormRoot>
代碼以反序列化的XML對象
string myXMLStringFromDB = GetXMLStringFromDb(); // this method will return XML from db.
XmlSerializer serializer = new XmlSerializer(typeof(MedicalClearanceViewModel));
using (TextReader reader = new StringReader(myXMLStringFromDB))
{
MedicalClearanceViewModel objModel = (MedicalClearanceViewModel)serializer.Deserialize(reader);
}
不過,問題是,當我反序列化XML使用上面的代碼...的屬性,如PassengerName
,Age
反對,PhoneNo
等等仍是空白的objModel
能有人能幫助我來設置適當的XML我的課堂上的符號可以有人可以幫助我解決這個問題。
任何幫助將不勝感激! 謝謝
的屬性爲null,因爲''沒有在XML聲明的任何屬性。您的層次結構在XML和類代碼之間關閉。 –
不應該MedicalClearanceViewModel類有一個MedicalClearanceForm屬性和MedicalClearanceForm具有當前在MedicalClearanceViewModel類中聲明的所有屬性? –