У меня проблема, когда я пытаюсь использовать 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; }
Существует пространство имен xml по умолчанию;Вы можете исправить это, добавив [XmlRoot], чтобы сообщить ему ожидаемое пространство имен:
[XmlRoot]
[XmlRoot(Namespace="http://schemas.datacontract.org/2004/07/iEverydayLog.Models.ViewModel")] public class UserInfoView {...}