【发布时间】:2012-01-04 21:27:55
【问题描述】:
您好,我正在做一个项目,我应该将我的对象序列化和反序列化为 Xml 并返回到对象。我使用 XmlSerializer 类来实现这一点。所以我的问题是,如果元素的属性值无效,我无法弄清楚如何防止序列化。例如,我有一个名为 person 的元素,其中包含 1 个属性(名称) 我想防止用户在此属性中输入除 (Alex, Nick,..) 之外的其他名称,在这种情况下,我需要 xsd 限制(模式)之类的东西,但对于我的模型。我该如何解决这个问题?
【问题讨论】:
-
很清楚:您想限制元素/属性的值?
-
我不认为序列化应该做数据验证。数据验证应在序列化发生之前进行。
-
我需要属性限制。
-
你想做什么?执行验证? (并抛出异常?)?或者:有条件地包含/排除该成员?还是……?
-
马克:在这种情况下是一个验证,我想尽可能不使用 xsd 文件。
标签: c# xml-serialization xsd xml-parsing