проблема десериализации xml - PullRequest
3 голосов
/ 12 января 2011

У меня проблема, когда я пытаюсь использовать XmlSerializer для десериализации XML-файла в класс, который я сам создал, содержимое XML-файла:

<UserInfoView xmlns="http://schemas.datacontract.org/2004/07/iEverydayLog.Models.ViewModel" 
              xmlns:i="http://www.w3.org/2001/XMLSchema-instance">

    <Address>Ultimo NSW</Address>

    <Id>685c7109-56c5-4a69-82d6-c9a286225d7e</Id>

    <Name>Tester Name</Name>

    <NumberOfCards>1</NumberOfCards>

</UserInfoView>

не удалось с этим сообщением: Ошибкав XML-документе (1, 2).

но когда я удаляю эти слова:

xmlns="http://schemas.datacontract.org/2004/07/iEverydayLog.Models.ViewModel"     xmlns:i="http://www.w3.org/2001/XMLSchema-instance"

все работает нормально, кто-нибудь знает, что здесь происходит?

myкласс определяется так:

    public class UserInfoView
    {
        public string Address;

        public string Name;

        public string Id;

        public int NumberOfCards;
    }

1 Ответ

4 голосов
/ 12 января 2011

Существует пространство имен xml по умолчанию;Вы можете исправить это, добавив [XmlRoot], чтобы сообщить ему ожидаемое пространство имен:

[XmlRoot(Namespace="http://schemas.datacontract.org/2004/07/iEverydayLog.Models.ViewModel")]
public class UserInfoView {...}
...