2011-01-12 6 views
3

У меня есть проблема, когда я пытаюсь использовать XmlSerializer для десериализации файла XML в класс я сделал сам, содержание 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" 

он работает нормально, это любой знает, что здесь происходит?

мой класс определяется следующим образом:

public class UserInfoView 
    { 
     public string Address; 

     public string Name; 

     public string Id; 

     public int NumberOfCards; 
    } 
+0

Где находится закрывающий тег UserInfoView? – leppie

+0

Опубликовать подробные сведения об исключении. – decyclone

ответ

4

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

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

Большое спасибо. проблема исправлена ​​с этим решением. приветствие Марка – user572652

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