XML序列化问题
问题描述:
我有当我尝试使用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;
}
答
有一个默认XML命名空间;您可以通过添加[XmlRoot]
来解决此问题,以告知它所期望的名称空间:
[XmlRoot(Namespace="http://schemas.datacontract.org/2004/07/iEverydayLog.Models.ViewModel")]
public class UserInfoView {...}
UserInfoView的结束标记在哪里? – leppie 2011-01-12 12:20:42
发布完整例外详情。 – decyclone 2011-01-12 12:24:09