2012-05-06 2 views
1

вот xml, который я получаю.Ошибка сериализации, которую я не могу решить

<ussd PDU="CTRL" MSISDN="*" STRING="2012/05/06 04:27:06 PM" TID="0" REQID="0" ENCODING="ASCII" TARIFF="*" STATUS="0"><cookie/></ussd> 

вот моя классовая структура:

[Serializable] 
[XmlRoot(ElementName = "ussd", Namespace = "")] 
public class ussd 
{ 
    [XmlAttribute(AttributeName = "PDU")] 
    public string PDU = string.Empty; 

    [XmlAttribute(AttributeName = "MSISDN")] 
    public string MSISDN = string.Empty; 

    [XmlAttribute(AttributeName = "STRING")] 
    public string STRING = string.Empty; 

    [XmlAttribute(AttributeName = "TID")] 
    public string TID = string.Empty; 

    [XmlAttribute(AttributeName = "REQID")] 
    public string REQID = string.Empty; 

    [XmlAttribute(AttributeName = "ENCODING")] 
    public string ENCODING = string.Empty; 

    [XmlAttribute(AttributeName = "TARIFF")] 
    public string TARIFF = string.Empty; 

    [XmlAttribute(AttributeName = "STATUS")] 
    public string STATUS = string.Empty; 
} 

Почему косяк это XML-сериализации в этот класс? Может ли кто-нибудь увидеть что-то не так с xml, который я не вижу?

+0

Я думаю, что ваш XML должен выглядеть следующим образом: CTRL * ... Hadas

+0

Какую ошибку вы получаете? –

+0

Я проверил ваш код, и я не получаю никаких ошибок, и у объекта есть все свойства, которые установлены правильно. –

ответ

0

Почему этот хml не может быть сериализован в этот класс?

Он может:

string xml = @"<ussd PDU=""CTRL"" MSISDN=""*"" STRING=""2012/05/06 04:27:06 PM"" TID=""0"" REQID=""0"" ENCODING=""ASCII"" TARIFF=""*"" STATUS=""0""><cookie/></ussd>"; 

using(StringReader stringReader = new StringReader(xml)) 
using (XmlTextReader xmlReader = new XmlTextReader(stringReader)) 
{ 

    XmlSerializer serializer = new XmlSerializer(typeof(ussd)); 
    ussd myobject = (ussd)serializer.Deserialize(xmlReader); 

    Console.WriteLine(myobject.ENCODING); 
} 

Может кто-нибудь увидеть что-то не так с XML, что я не могу увидеть?

Только тот факт, что вы не десериализируете элемент cookie.

Смежные вопросы