更严格的序列化程序不允许未使用的节点
-
11-12-2019 - |
题
我产生的C#类的基础上划使用xsd.exe 工具,从SDK。然后我可以使用这类[德]serialize对象使用的序列化程序...然而串行器似乎是非常宽容。
它是可能的,我可以使程序扔一个例外情况下有丢失的财产或一个"奇怪"XML节点?
我想一个办法是修改该定者的财产,并使它验证的数据(或使用文件证)...然而,是否有任何其他替代解决这个问题?
解决方案
你可以实现的 IXmlSerializable
接口 并在 ReadXml
方法 执行情况,检查特定的元素,你要求,把例外当你找不到他们(或设置任何通知你需要)。
如果你想使用一架构对于验证(使用 minOccurs
和 maxOccurs
架构属性, 例如),然后你可以配置 XmlReader
实例验证的模式,通过设置 Schemas
酒店 在 XmlReaderSettings
类 你通过的 Create
方法 (注意有重载 Create
这需要一个 TextReader
, 等等)。
不隶属于 StackOverflow