【发布时间】:2010-10-14 08:37:07
【问题描述】:
我有一个这样的 XML dox:
<?xml version="1.0" encoding="utf-8"?>
<Server Manufacturer="SQL" Version="1">
<Database Name="Test123" >
<Devices>
<Device Name="Testdata" ..../>
<Device Name="Testlog" ..../>
</Devices>
</Database>
</Server>
我想像这样反序列化它: var database = (Database)xmlSerializer.Deserialize(new StreamReader(xmlFilePath));
其中 Database 是具有设备集合的类。
当我注释掉 XML 文件中的服务器标记但我不想这样做时,它工作正常。我收到一条错误消息,提示“XMl 文档行 (1, 4) 中存在错误”
我如何告诉序列化忽略服务器标签,我是否需要在 XML 文件中放置一个命名空间?
我尝试将 [XmlRootAttribute("Database")] 放在数据库对象上,但我仍然得到同样的错误
【问题讨论】:
-
您是否尝试删除编码属性? (这不是解决方案,只是要测试的东西)。在这里,我认为您必须反序列化一个服务器,然后获取您的数据库对象。
-
可以加你对应的类吗..